为什么Clojure中的Symbol可以用作功能?

用户名

我请您参考以下短代码:

('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

就您的示例而言,('a 1)返回nil,因为(get 1'a 返回nil,而('a 1 2)返回提供的默认值2。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Javascript

辅助功能:aria-haspopup可以用作什么?

来自分类Dev

为什么Regex Count在C#中可以用作Length?

来自分类Dev

为什么匿名类可以用作参数?

来自分类Dev

在 MS Access 中,为什么 SQL 字符串可以用作 Query 而不能用作 Report 的 RecordSource?

来自分类Dev

了解用作功能的宏

来自分类Dev

不能用作功能

来自分类Dev

为什么我可以将集合用作clojure中的谓词?

来自分类Dev

为什么Rcpp :: Function可以用作boost :: function,并且可以在运行时自省?

来自分类Dev

模式匹配或多态调度是否可以用作Clojure中的条件结构?

来自分类Java

为什么双::的compareTo可以用作Stream.max的参数(比较<?超级T>比较器)

来自分类Dev

为什么 switch 可以用作实例运算符,而 merge 和 concat 不能

来自分类Dev

为什么void *作为模板参数可以用作函数参数而不是模板参数?

来自分类Dev

为什么不能将Go slice用作Go映射中的键,就像数组可以用作键一样?

来自分类Java

为什么“ final static int”可以用作开关的大小写常量,而不能用作“ final static <your enum>”

来自分类Dev

我可以在Hyperstack中制作功能组件吗?

来自分类Dev

“AbortController”可以用作“removeEventListener”的替代功能吗?

来自分类Java

在Java中还有什么可以用作ServiceLoader替代方案?

来自分类Dev

在Swift中什么类型的错误都可以用作错误?

来自分类Dev

直接传递给连接的动作创建者在props中不能用作功能

来自分类Dev

指向超类对象的指针可以用作指向子类对象的指针。但是不能调用子类的成员函数。为什么?

来自分类Dev

可以用作AKS节点的最便宜的VM是什么?

来自分类Dev

响应式设计:什么可以用作相对尺寸的参考?

来自分类Dev

我可以完全禁用GHC上的类型检查,以便将其用作功能语言的编译目标吗?

来自分类Dev

为什么Clojure中的disj和dissoc功能不同?

来自分类Dev

Nullable可以用作C#中的函子吗?

来自分类Dev

标题标签可以用作html标签中的属性吗?

来自分类Dev

表可以用作 PipelineDB 中的流吗

来自分类Dev

变量用作功能参数后发生变化

来自分类Dev

在SwiftUI中将状态变量用作功能的输入

Related 相关文章

  1. 1

    辅助功能:aria-haspopup可以用作什么?

  2. 2

    为什么Regex Count在C#中可以用作Length?

  3. 3

    为什么匿名类可以用作参数?

  4. 4

    在 MS Access 中,为什么 SQL 字符串可以用作 Query 而不能用作 Report 的 RecordSource?

  5. 5

    了解用作功能的宏

  6. 6

    不能用作功能

  7. 7

    为什么我可以将集合用作clojure中的谓词?

  8. 8

    为什么Rcpp :: Function可以用作boost :: function,并且可以在运行时自省?

  9. 9

    模式匹配或多态调度是否可以用作Clojure中的条件结构?

  10. 10

    为什么双::的compareTo可以用作Stream.max的参数(比较<?超级T>比较器)

  11. 11

    为什么 switch 可以用作实例运算符,而 merge 和 concat 不能

  12. 12

    为什么void *作为模板参数可以用作函数参数而不是模板参数?

  13. 13

    为什么不能将Go slice用作Go映射中的键,就像数组可以用作键一样?

  14. 14

    为什么“ final static int”可以用作开关的大小写常量,而不能用作“ final static <your enum>”

  15. 15

    我可以在Hyperstack中制作功能组件吗?

  16. 16

    “AbortController”可以用作“removeEventListener”的替代功能吗?

  17. 17

    在Java中还有什么可以用作ServiceLoader替代方案?

  18. 18

    在Swift中什么类型的错误都可以用作错误?

  19. 19

    直接传递给连接的动作创建者在props中不能用作功能

  20. 20

    指向超类对象的指针可以用作指向子类对象的指针。但是不能调用子类的成员函数。为什么?

  21. 21

    可以用作AKS节点的最便宜的VM是什么?

  22. 22

    响应式设计:什么可以用作相对尺寸的参考?

  23. 23

    我可以完全禁用GHC上的类型检查,以便将其用作功能语言的编译目标吗?

  24. 24

    为什么Clojure中的disj和dissoc功能不同?

  25. 25

    Nullable可以用作C#中的函子吗?

  26. 26

    标题标签可以用作html标签中的属性吗?

  27. 27

    表可以用作 PipelineDB 中的流吗

  28. 28

    变量用作功能参数后发生变化

  29. 29

    在SwiftUI中将状态变量用作功能的输入

热门标签

归档