我刚从Stackoverflow上#=的帖子 "发现"了读取器宏,它解决了一个问题.这个读者宏观有多大可能成为该语言的官方(文档)部分?如何弃用或改变行为?
所述#=读取器宏导致以下s表达式由Lisp的读取器进行评估(宏膨胀之前).
当使用 *print-dup* true 打印某些内容时,核心语言会使用它,所以我打赌它会保留下来。不知道为什么没有记录。
user=> (binding [*print-dup* true] (prn {:foo 1 :bar 2}))
#=(clojure.lang.PersistentArrayMap/create {:foo 1, :bar 2})
nil
Run Code Online (Sandbox Code Playgroud)