元阅读器文字:^ vs.#^

时间:2012-12-23 18:40:43

标签: clojure

  

可能重复:
  Clojure type hints syntax

我有时会在^{:meta :data} some-form和其他人#^{:meta :data} some-form上看到一个尾随哈希字符。两者有什么区别?

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

2 个答案:

答案 0 :(得分:2)

此刻没有区别。 https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/LispReader.java#L82 - 如果你能阅读java,那就去看看吧。 ^正由MetaReader处理,#DispatchReader处理#(在#^的情况下)调用MetaReader。为什么?我记得,在早期的clojure ^被用于其他东西(元,但我可能是错的)。我建议现在坚持^,这更好......更好......这些日子。

答案 1 :(得分:2)

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

现在不推荐使用^

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