我很困惑這個代碼是如何工作的:方案:與集合混淆!
(define m (list 1 2 3 '(5 8)))
(let ((l (cdr m)))
(set! l '(28 88))) ==>(1 2 3 (5 8))
(define o (list 1 2 3 '(5 8)))
(let ((l (cdr o)))
(set-car! l '(28 88))) ==> (1 (28 88) 3 (5 8))
爲什麼(set! l '(28 88)))
不更新m
?
您還可以使用foreach嗎? – yarian 2011-06-16 16:11:27