From: donaldtc at yahoo.cn (donaldtc at yahoo.cn) Date: Fri Feb 20 22:26:07 EST 2009 |
|
With the following program #lang scheme (define make-running-total (lambda () (let ([n 0]) (lambda () (let ([m n]) (set! n (+ n 1)) (list m n)))))) ((make-running-total)) ((make-running-total)) (define ha (make-running-total)) (ha) (ha) why the result is (0 1) (0 1) (0 1) (1 2) It seems when I call (ha), the n is a static variable.
Posted on the users mailing list. |
|