(define (f y) (lambda (y) (lambda (y) (+ y 5))))
(((f 3) 4) 5) `Stepping mit Lambda
Ich möchte die Schritte dieses zu übernehmen.
(define (f y) (lambda (y) (lambda (y) (+ y 5))))
(((f 3) 4) 5) `Stepping mit Lambda
Ich möchte die Schritte dieses zu übernehmen.
bewerten:
(((f 3) 4) 5)
Wo f =
(define (f y) (lambda (y) (lambda (y) (+ y 5))))
beginnen mit
(f 3) ;; yields ...
(lambda (y)
(lambda (y)
(+ y 5)))
nächstes nach ((f 3) 4)
wir das Ergebnis vongeltenzu 4
((lambda (y)
(lambda (y)
(+ y 5))) 4) ;; yields
((lambda (y)
(lambda (y)
(+ y 5))) 4)
nächstes nach (((f 3) 4) 5)
, wenden wir das Ergebnis von ((f 3) 4)
zu 5
((lambda (y)
(+ y 5)) 5) ;; yields ...
((lambda (y)
(+ y5 5)) 5)
So ist die endgültige Antwort ist (+ 5 5)
, die 10
@AnamayaGarodia gibt es keine Substitutionen zu machen. '(f 3)' gibt einfach zurück '(lambda (y) (lambda (y) (+ y 5))) – naomik
Mit lambda definierte Funktionen geben sofort den Ergebnisausdruck aus der Funktion mit den Argumenten zurück, die in! –
Nizza Zuordnung Schritt Frage! :) –
Bitte ändere deine Frage nicht vollständig. Das entwertet die Antworten, zu denen sich die Menschen Zeit genommen haben. Wenn Sie eine neue Frage haben, stellen Sie eine neue Frage. –