Clojure type hints syntax

In the book "Programming Clojure" (Halloway, S., (2009). Programming Clojure. Raleigh, NC: Pragmatic Bookshelf.) he shows type hints using the syntax

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

while on the Clojure Website, the type hints are shown without the # reader macro:

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

Which is correct?


Both are, but in different versions of Clojure: beginning with the 1.2 release, #^ syntax for reader metadata (in particular, type hints) is deprecated and ^ is to be used instead. Note that #^ still works in 1.2; also note that ^foo was shorthand for (meta foo) prior to 1.2, so you have to use the old notation if you use an older release.

链接地址: http://www.djcxy.com/p/82564.html

上一篇: Clojure def vs定义一个没有参数的函数

下一篇: Clojure类型提示语法