我刚看到Stackoverflow上的一篇post,介绍了#=读取宏,这解决了我的一个问题。这个读取宏成为语言官方(有文档记录)的一部分的可能性有多大?它是否会被弃用或更改行为?
#=读取宏会导致Lisp读取器(在宏扩展之前)对以下s表达式进行求值。
#=读取宏会导致Lisp读取器(在宏扩展之前)对以下s表达式进行求值。
当使用 *print-dup* 为 true 时,核心语言会使用它来打印某些内容,因此我敢打赌它将会保留。不知道为什么它没有被记录在文档中。
user=> (binding [*print-dup* true] (prn {:foo 1 :bar 2}))
#=(clojure.lang.PersistentArrayMap/create {:foo 1, :bar 2})
nil
这个功能没有记录,因为它可能会被删除或者被替换成其他东西。我不建议在你的程序中使用它。