目前(Clojure v1.6)您可以通过两种方式给出类型提示:
^floats xs
Run Code Online (Sandbox Code Playgroud)
#^floats xs
Run Code Online (Sandbox Code Playgroud)
根据Clojure ^ floats vs.#^ floats?,后者是遗留语法,前者是当前首选形式.
这种变化何时发生?
Dao*_*Wen 11
^
宏观角色的简史在Clojure v1.0中,^
字符是"元阅读器宏".换句话说,^x
是简写(meta x)
.#^
用于将元数据与对象相关联.(请参阅2009年11月的Macro Characters文档.)
在某些时候,有人可能意识到两者都有特殊情况,#^
并且^
都与元数据相关,令人困惑.他们决定弃用^
,该计划最终取代#^
用^
.在Clojure v1.1中,^
读者宏已被正式弃用.(请参阅2010年1月的Macro Characters文档.)
2010年4月26日,Github上有一个提交,用^
行为取代旧#^
行为.(这是当#^
和^
成为代名词.)
在Clojure v1.2版本中,#^
不赞成使用^
.(请参阅2010年8月的Macro Characters文档.)
他们在2013年Clojure v1.6发布之前的某个时间删除了#^
clojure.core 的最后几个实例.