(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条件内打电话吗?