我了解Clojure中的关键字:keyword
。但是有什么::
用呢?为什么看起来像具有约束力?
user=> :foo
:foo
user=> ::foo
:user/foo
Answers:
正如现在为Clojure和ClojureScript所记录的那样,::
关键字也可以用于解析名称空间别名。例如,::foo/bar
将计算:clojure.core/bar
iffoo
是的别名clojure.core
。如果foo
无法解析为名称空间,则会引发Reader异常。