0

可能重复:
Clojure 类型提示语法

有时我会阅读 ,有时会阅读^{:meta :data} some-form,并#^{:meta :data} some-form带有一个尾随的哈希字符。两者有什么区别?

clojure.org/reader中没有相关条目。

4

2 回答 2

2

暂时没有区别。https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/LispReader.java#L82 - 如果你能读懂java,看看那里。^ 由 MetaReader 处理,# 由 DispatchReader 处理(在 #^ 的情况下)确实调用 MetaReader。为什么?我记得,在 clojure 的早期 ^ 被用于其他东西(元,但我可能错了)。我建议现在坚持使用 ^,现在它更...首选...。

于 2012-12-23T19:07:43.153 回答
2

#^是用于访问元数据的旧阅读器宏字符。

它现在已被弃用,取而代之的是^.

以下页面正式^列为元数据的阅读器宏字符:http: //clojure.org/reader

于 2012-12-24T06:25:31.923 回答