2010-11-22 14 views
9

W książce "Programowanie Clojure" (Halloway, S. (2009) Programming Clojure Raleigh, NC... Pragmatyczne Regał) on wyświetlony rodzaj podpowiedzi przy użyciu składnityp Clojure podpowiedzi składni

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

while na Clojure Website, podpowiedzi typu są pokazane bez makra # czytnika:

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

Która jest poprawna?

Odpowiedz

14

Obie są, ale w różnych wersjach Clojure: począwszy od wersji 1.2, składnia metadanych czytnika (w szczególności wskazówki typów) jest przestarzała i zamiast niej należy użyć ^. Zauważ, że #^ nadal pracuje w 1.2; należy również pamiętać, że ^foo był skrótem dla (meta foo) przed 1.2, więc masz masz używać starej notacji, jeśli używasz starszej wersji.

+0

ł: Dzięki. Nie zdawałem sobie sprawy, że zmieniła się składnia. – Ralph