Clojure类型提示语法

Clojure type hints syntax

在" Programming Clojure"一书中(Halloway,S。,(2009年)。ProgrammingClojure。Raleigh,NC:Pragmatic Bookshelf。),他使用语法显示了类型提示。

1
2
(defn describe-class [#^Class c]
  ...)

在Clojure网站上显示类型提示时,没有#阅读器宏:

1
2
(defn len2 [^String x]
  ...)

哪个是正确的?


两者都是Clojure的版本,但版本不同:从1.2发行版开始,已弃用阅读器元数据(特别是类型提示)的#^语法,而改为使用^。 请注意,#^在1.2中仍然有效; 还请注意,^foo是1.2之前的(meta foo)的简写,因此,如果使用旧版本,则必须使用旧符号。