在大多数语言中,都有围绕参数的约定。例如在嵌套循环中,您可以在顶层使用i
,然后使用j
,然后使用k
。
但在Clojure中,我不知道会议的内容。我经常看到xs
在函数参数中的使用;那为什么呢?这是否具体是什么意思?还有其他惯例吗?
答案 0 :(得分:10)
对于命名约定,您可以参考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
答案 1 :(得分:9)
我不确定它是一个标准,但对于一个简单的变量,常规约为x
,对于表示序列的变量,约定xs
。 's'代表序列或复数,这很方便。
例如,在解构中,您可以使用[x & xs]
作为第一个和第二个。
您还可以找到idx
索引和idxs
更多索引。
答案 2 :(得分:3)
Haskell和F#遵循相同的命名标准/模式。 xs
是由x
组成的复数。