clojure源代码中列表的定义

时间:2017-06-07 13:45:52

标签: clojure

我今天早上正在浏览clojure源代码,并且在clojure/core.clj顶部附近我发现了这个:

(def
    ^{:arglists '([& items])
      :doc "Creates a new list containing the items."
      :added "1.0"}
    list (. clojure.lang.PersistentList creator))

对我来说很奇怪的是符号creator。它不会出现在它上面的文件中的任何位置。为什么这不是问题?

1 个答案:

答案 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