在“Programming Clojure”一书中(Halloway,S。,(2009年)。ProgrammingClojure。Raleigh,NC:Pragmatic Bookshelf。),他使用语法显示了类型提示。
(defn describe-class [#^Class c]
...)
而在Clojure Website上,显示类型提示而没有
#
阅读器宏:(defn len2 [^String x]
...)
哪个是对的?
最佳答案
两者都是Clojure的版本,但版本不同:从1.2版本开始,不赞成使用读取器元数据(特别是类型提示)的#^
语法,而应使用^
。注意#^
在1.2中仍然有效;还请注意,^foo
是1.2之前的(meta foo)
的简写,因此,如果使用的是较早的发行版,则必须使用旧的表示法。
关于types - Clojure类型提示语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245540/