我为您提供以下简短代码:
为什么在这个情境中符号
我为您提供以下简短代码:
('a 1)
;==> nil
('a 1 2)
;=>2
为什么在这个情境中符号
a
可以被用作函数?它允许您使用符号作为键,在漂亮的语法中查找地图。
以下是等效的:
('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
get
。一个作为函数使用的符号实际上调用了 get,而 get 将接受任何东西作为第一个参数,如果无法从中获取任何内容,则简单地返回默认值。(get Double/NaN :a :default)
=> :default - noisesmith