Тип Clojure намекает на синтаксис - PullRequest
9 голосов
/ 22 ноября 2010

В книге «Программирование Clojure» (Halloway, S., (2009). Программирование Clojure. Raleigh, NC: Pragmatic Bookshelf.) Он показывает подсказки типов с использованием синтаксиса

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

на веб-сайте Clojure подсказки типов отображаются без макроса # reader:

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

Что правильно?

1 Ответ

14 голосов
/ 22 ноября 2010

Оба есть, но в разных версиях Clojure: начиная с версии 1.2, синтаксис #^ для метаданных считывателя (в частности, подсказки типов) устарел, и вместо него следует использовать ^.Обратите внимание, что #^ все еще работает в 1.2;Также обратите внимание, что ^foo было сокращением для (meta foo) до 1.2, поэтому у вас есть для использования старой записи, если вы используете более старую версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...