当我将参数传递给Clojure符号时会发生什么?

时间:2011-11-21 22:17:38

标签: clojure symbols

如果我这样做:

('a 'b 'c)

我明白了:

c

为什么?

1 个答案:

答案 0 :(得分:18)

Hauleth发布的链接是对符号的一个很好的概述,但问题的答案是将符号作为函数调用等同于在第一个参数中查找该符号。

('a 'b)

相当于

(get 'b 'a)

get的文档显示您可以将可选的第三个参数作为默认参数传递。在您的示例中,'c被视为默认值并返回,因为'b不是地图,'无法找到。