#lang racket
(define f
(let ((old 0))
(lambda (a)
(let ((b old))
(begin (set! old a) b)))))
(+ (f 0) (f 1))
(+ (f 1) (f 0))
运行结果
0
2
#lang racket
(define f
(let ((old 0))
(lambda (a)
(let ((b old))
(begin (set! old a) b)))))
(+ (f 0) (f 1))
(+ (f 1) (f 0))
运行结果
0
2