Dr. Racket-Benutzer.Reihenfolge der Auswertung von Lambda-Ausdrücken in Schema
Hier sind zwei Ausdrücke:
((lambda (x) (+ x 1)) 3)
((lambda (x) (+ x 1) 2) 3)
Die erste ist eine Lambda-Ausdruck, der einen Eingang nimmt und erhöht sie um 1 dauert es also 3 als Operanden und Marken (lambda (3) (3 + 1), die
Die gleich 4 ist Der zweite ist mir seither sehr zweideutig es bewertet 2 und ich kann die Reihenfolge seiner Auswertung nicht verstehen. Ich weiß, dass es etwas mit den Klammern zu tun hat, die die Reihenfolge ändern, aber ich kann nicht verstehen, wie. Offensichtlich summiert es nicht einmal "die 1" und "das x" nur aus irgendeinem Grund, 2 als die Ausgabe produzierend. Ich vermisse ein grundlegendes Verständnis der Bewertung. Danke im Voraus!
Verwenden Sie den algebraischen Stepper (den Fuß) in DrRacket, um diese Frage zu beantworten. Mit dem Stepper können Sie die Auswertung von Ausdrücken in einem Schritt durchführen (und auch rückwärts gehen!) – soegaard