比方说,我在其他地方有一个预定义的函数"sum"。
我想在做(setq a '(4 3 4))
和(setq b '(6 10 9))
之后对两个列表求和
我做(recurse a b)
。
然而,我一直得到"nil"作为返回值。我用这个递归做错了什么?
Trace目前没有帮助。
(defun recurse (x y)
(cond
( (null x) nil) )
(t (sum (car x) (car y) ) (recurse (cdr x) (cdr y)) )
)
)
您需要确认结果;否则他们会被赶出去。
(defun recurse (x y)
(cond
((null x) nil)
(t (cons (sum (car x) (car y))
(recurse (cdr x) (cdr y))))))