<分区>
我建议你引用这个简短的代码:
('a 1)
;==> nil
('a 1 2)
;=>2
为什么符号 a
可以用作此上下文中的函数?
<分区>
我建议你引用这个简短的代码:
('a 1)
;==> nil
('a 1 2)
;=>2
为什么符号 a
可以用作此上下文中的函数?
最佳答案
它允许您以一个很好的语法以符号作为键来查找 map 。
下面是等价的:
('a my-hash-map)
(get my-hash-map 'a) ; returns value associated with 'a or nil if not present
为了更方便,您还可以提供默认值作为可选的第二个参数:
('a my-hash-map 42) ; returns 42 if my-hash-map does't have the key 'a
以你为例,('a 1) 返回 nil 因为 (get 1 'a) 返回 nil 和 ('a 1 2) 返回提供的默认值 2。
关于clojure - 为什么 clojure 中的 Symbol 可以用作函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21312724/