我一直在寻找一段时间,但我找不到合适的问题,所以我会发布它。我希望那还没有发布。
我明白什么设置!让做,但我不明白为什么要设置!可以修改let的局部变量并永久保留该值。例如:
(define count
(let ((cont 0))
(lambda ()
(set! cont (+ cont 1))
cont)))
如果我们多次评估(计数) ,我们会看到结果是
> (count)
1
> (count)
2
> (count)
3
>
... 等等。但是,据我了解,cont是一个局部变量,那么为什么要保留该值呢?为什么每次调用函数时都不设置为0?
好吧,那就是:) 提前致谢!
PS:对不起,我的英语 *o*