122
|
Laurence Gonsalves · 技术社区 · 15 年前 |
1
128
这里是 Clojure documentation 关键字和符号。
关键字通常用作轻量级的“常量字符串”,例如哈希图的键或多方法的调度值。符号通常用于命名变量和函数,除了在宏等中,直接将它们作为对象进行操作是不常见的。但是没有什么能阻止你在任何地方使用一个符号,你使用一个关键词(如果你不介意一直引用它们的话)。
最简单的方法就是阅读
除了单冒号语法之外,还可以使用双冒号来生成限定命名空间的关键字。
普通的Lisp有关键字,Ruby和其他语言也有。当然,它们在这些语言中略有不同。常见的lisp关键字和clojure关键字之间的一些区别:
(谢谢) Rainer Joswig 给我一些要看的东西。) |
2
29
普通LISP 有关键字符号。 关键字也是符号。
什么使关键字特别:
否则关键词就是普通符号。所以关键字可以命名函数或具有属性列表。 记住:在常见的Lisp中,符号属于一个包。这可以写为:
对于表示:foo的关键字符号,关键字:foo和关键字::foo都是相同的符号。因此,通常不使用后两个符号。 所以:foo只是被解析为package关键字,假设在符号名称之前没有给出包名称,默认情况下意味着关键字package。 |
3
5
关键字是对自身进行评估的符号,因此您不必记住引用它们。 |
4
4
对于关键字,当关键字为 首先建造。当将关键字作为哈希键查找时,只需 返回预先计算的哈希值。对于字符串和符号,哈希是 每次查找时重新计算。 为什么相同的命名关键字总是相同的,它们包含自己的哈希值。 由于地图和集合中的搜索是由散列键组成的,因此在进行大量搜索时(而不是搜索本身),这有助于提高搜索效率。 |
5
3
:许多集合还专门处理关键字,允许使用一些真正方便的语法。
是一样的
这让事情变得更加灵活 |
David J. · 这个基本的scheme函数有什么问题 2 年前 |
Asher · 如何使用DrRacket遵循简单方案手册 6 年前 |
Flux · 如何从MIT方案访问环境变量? 6 年前 |
Adam Morad · 方案反转值 6 年前 |
Adam Morad · 方案更改树值 6 年前 |
lightning_missile · 词法范围和共享对象 6 年前 |