我正在为我的计划决赛而学习,与当地国家的对象一直是一个艰难的主题。
这是我期末考试中的一个问题,我需要帮助。
(define (make-incrementer n)
(let ((old 0)
(new 0))
(lambda ()
(cond ((< new n)
(set! old new)
(set! new (+ new 1))
old)
(else
(set! old 0)
(set! new 1)
old)))))
(define a (make-incrementer 3))
(define b (make-incrementer 3))
(define c a)
; 1) (a)
; 2) (a)
为什么a
第二次调用时返回1?我正在查看代码,n
我们给它的总是 3。那么它不是总是这样else
吗?