versuchen, ein clojure "let" Beispiel zu verstehen

8
%Vor%

Ich versuche, dieses Beispiel in clojure zu verstehen. Was ist die y-Variable, die nie auf etwas eingestellt ist? Ich verstehe die Let-Syntax nicht.

    
eat_a_lemon 05.03.2014, 17:09
quelle

3 Antworten

13
%Vor%

bewertet <body> in einem lexikalischen Kontext, wobei y an den Wert von x gebunden ist.

Siehe die Clojure Dokumentation für die Beschreibung von let Syntax. Die allgemeine Form ist:

%Vor%

Jede symN ist an die entsprechende valN gebunden.

    
Barmar 05.03.2014, 17:15
quelle
8
___ qstnhdr ___ versuchen, ein clojure "let" Beispiel zu verstehen ___ tag123clojure ___ Clojure ist ein moderner Lisp-Dialekt für die Java Virtual Machine (mit Versionen für CLR und JavaScript). Mehr als nur eine Implementierung von Lisp in Java, bietet Clojure Zugriff auf Klassen und Ökosysteme von Java. ___ qstntxt ___
%Vor%

Ich versuche, dieses Beispiel in clojure zu verstehen. Was ist die y-Variable, die nie auf etwas eingestellt ist? Ich verstehe die Let-Syntax nicht.

    
___ answer22204599 ___
%Vor%

bewertet let in einem lexikalischen Kontext, wobei x an den Wert von y gebunden ist.

Siehe die Clojure Dokumentation für die Beschreibung von make-adder Syntax. Die allgemeine Form ist:

%Vor%

Jede 2 ist an die entsprechende add2 gebunden.

    
___ answer22204990 ___

Let Expression ist in vielen funktionalen Programmiersprachen Standard. Was ist das "lassen" Stichwort in funktionalen Sprachen wie F # und OCaml für?

    
___ antwort22204862 ___

Diese Funktion:

%Vor%

Gibt selbst eine First-Class-Funktion zurück (eine Funktion, die zurückgegeben, weitergegeben und einer zugewiesen werden kann) Name wie jeder andere Wert). Innerhalb von 6 ist %code% an %code% gebunden, und daher entspricht die obige Funktion dieser Funktion:

%Vor%

Wenn also %code% mit dem Wert %code% aufgerufen wird, gibt es diese First-Class-Funktion zurück:

%Vor%

Denken Sie daran, dass einem Namen eine erstklassige Funktion wie in dieser Zeile zugewiesen werden kann:

%Vor%

Die obige Zeile entspricht daher diesem Code:

%Vor%

Und so ist diesem Code auch gleich:

%Vor%

Dies bedeutet, dass wenn %code% aufgerufen wird:

%Vor%

Der obige Ausdruck ergibt Folgendes:

%Vor%

Was ergibt %code% .

    
___
djhaskin987 05.03.2014 17:27
quelle
1

Let Expression ist in vielen funktionalen Programmiersprachen Standard. Was ist das "lassen" Stichwort in funktionalen Sprachen wie F # und OCaml für?

    
archie 05.03.2014 17:34
quelle

Tags und Links