Clojure wenn ein Apostroph vor dem Vektor benötigt wird

8

aus dem Buch "Die Freude von Clojure":

erstes Beispiel:

%Vor%

zweites Beispiel:

%Vor%

Warum brauche ich im zweiten Beispiel (aber nicht in der ersten) ein Apostroph? Ohne das zweite Beispiel wird ein Fehler ausgelöst.

    
Alonzorz 11.10.2014, 08:46
quelle

2 Antworten

7

Im zweiten Beispiel müssen Sie Apostroph verwenden, da Sie die Auswertung von Elementen des Vektors verhindern wollen. Wenn Sie den Apostroph entfernen, versucht Clojure, die Symbole a , b usw. aufzulösen, als wären sie an einige Werte gebunden.

Beispiel:

%Vor%

Bitte beachten Sie, dass Sie Aphostrophe nicht mit Zahlen verwenden müssen, da sie sich selbst auswerten:

%Vor%

Während die Symbole dies nicht tun, wird Clojure nach einem Wert suchen, an den das angegebene Symbol gebunden ist:

%Vor%

Wenn man diese Information und die Tatsache kennt, dass Argumente einer Funktion ausgewertet werden, bevor man in die Funktion hineingeht, sollte klar sein, warum und wann ein Apostroph vor einem Vektor verwendet werden soll.

    
Mark 11.10.2014, 08:55
quelle
2

Im zweiten Beispiel ist das Zitat ' vorhanden, um zu verhindern, dass der Evaluator das nachfolgende Formular (den Vektor) auswertet.

Die darin enthaltenen Symbole sind nicht selbstbewertend (lesen Sie hier mehr Ссылка ) und der Evaluator würde versuchen, sie zu lösen.

E. G.

%Vor%

Vielleicht möchten Sie ein anderes quote Beispiel hier Ссылка lesen, und erfahren Sie mehr über den Reader und das Syntax-Zitat hier : Ссылка

    
Leon Grapenthin 11.10.2014 10:19
quelle

Tags und Links