dieser Code Gegeben:Racket Variablenspeicher
(define (wrapper n)
(define (sum-ints)
(set! n (+ n 1))
(display n)(newline)
(if (= n 3)
n
(+ n (sum-ints))))
(sum-ints))
Aufruf dieser Prozedur mitn = 0
(wrapper 0) =>
1
2
3
6
hatte ich den Prozess erwartet n auf einen Wert von 3 zu erhöhen, und dann, wenn es zurückkehrt, addiere 3 zu 3 zu 3 für eine Ausgabe von 3 3 3 9.
Speichert die innere Prozedur eine Schattenkopie von n?
Vielen Dank für diese detaillierte Erklärung. –