Clojure的defn
,defmacro
和binding
中的参数的方括号(我忘记了吗?)真的创建了一个向量,还是只是语法问题,争论脱颖而出?
我正在阅读Clojure in Action,其中指出:
Clojure使用向量来表示 函数参数或绑定表单。
这让我在这里提出这个问题。
答案 0 :(得分:20)
是的,它确实是一个载体。我们可以看到通过手动构建函数然后对其进行评估:
(eval (list (list 'fn (vector 'x) (list '* 'x 2)) 100))
;=> 200
希望有所帮助。