(define wadd (lambda (i L)
(if (null? L) 0
(+ i (car L)))
(set! i (+ i (car L)))
(set! L (cdr L))))
(wadd 9 '(1 2 3))
这不返回任何内容。我期望它会这样做(3 + (2 + (9 + 1))
,这应该等同于15
. 我使用set!
错误的方式吗?我不能set!
在一个if
条件内打电话吗?