使用新语法#:default.namespace{,,,}
编写的映射不包含作为元数据的文件位置。
给定此代码设置
(require '[clojure.tools.reader :as reader])
(require '[clojure.tools.reader.reader-types :as reader-types])
(defn sample [s]
(with-open [r (java.io.StringReader. s)]
(meta (reader/read (reader-types/indexing-push-back-reader (reader-types/push-back-reader r) 1)))))
此EDN字面量未能解析带位置元数据
(sample "#:ns{ :key :val }") ; => nil
与这两个不同,它们的期望位置元数据得到
(sample "{ :key :val }") ; => {:line 1, :column 1, :end-line 1, :end-column 14}
(sample "{ :ns/key val }") ; => {:line 1, :column 1, :end-line 1, :end-column 16}