我今天早上正在浏览clojure源代码,并且在clojure/core.clj
顶部附近我发现了这个:
(def
^{:arglists '([& items])
:doc "Creates a new list containing the items."
:added "1.0"}
list (. clojure.lang.PersistentList creator))
对我来说很奇怪的是符号creator
。它不会出现在它上面的文件中的任何位置。为什么这不是问题?
答案 0 :(得分:6)
点特殊形式用于java interop。由于clojure.lang.PersistentList
是类名符号,
(. clojure.lang.PersistentList creator)
是对静态creator
字段的访问。
https://github.com/clojure/clojure/blob/clojure-1.8.0/src/jvm/clojure/lang/PersistentList.java#L66