为什么 Clojure 开发人员对函数参数使用 "xs"?
Why do Clojure devs use "xs" for function args?
在大多数语言中,参数都有约定俗成。例如在嵌套循环中,您可以在顶层使用 i
,然后是 j
,然后是 k
.
但在 Clojure 中我不知道约定是什么。我经常看到在函数参数中使用 xs
;那是为什么呢?这是否意味着特定的东西?还有其他约定吗?
I.m 不确定它是否是标准,但通常惯例是 x
表示简单变量,xs
表示表示序列的变量。 's'代表序列或复数,方便。
例如在解构中你可以使用 [x & xs]
作为第一个和后面的。
您还会发现索引 idx
和 更多索引 .
idxs
命名规范可以参考Clojure library coding standards
具体来说:
Follow clojure.core's example for idiomatic names like pred and coll.
in fns
f, g, h - function input
n - integer input usually a size
index - integer index
x, y - numbers
s - string input
coll - a collection
pred - a predicate closure
& more - variadic input
in macros
expr - an expression
body - a macro body
binding - a macro binding vector
Haskell 和 F# 遵循相同的命名方式 standard/pattern。 xs
是 x
.
的复数形式
另请参阅:
在大多数语言中,参数都有约定俗成。例如在嵌套循环中,您可以在顶层使用 i
,然后是 j
,然后是 k
.
但在 Clojure 中我不知道约定是什么。我经常看到在函数参数中使用 xs
;那是为什么呢?这是否意味着特定的东西?还有其他约定吗?
I.m 不确定它是否是标准,但通常惯例是 x
表示简单变量,xs
表示表示序列的变量。 's'代表序列或复数,方便。
例如在解构中你可以使用 [x & xs]
作为第一个和后面的。
您还会发现索引 idx
和 更多索引 .
idxs
命名规范可以参考Clojure library coding standards
具体来说:
Follow clojure.core's example for idiomatic names like pred and coll.
in fns
f, g, h - function input
n - integer input usually a size
index - integer index
x, y - numbers
s - string input
coll - a collection
pred - a predicate closure
& more - variadic input
in macros
expr - an expression
body - a macro body
binding - a macro binding vector
Haskell 和 F# 遵循相同的命名方式 standard/pattern。 xs
是 x
.
另请参阅: