我定义了以下函数 soma -n ,其中 n 是一个整数, l 是一个列表。
(defun soma-n (n l)
(if (null l)
()
(cons (+ (first l) n) (soma-n (rest l)))))
我试图按如下方式调用它,但似乎没有发送其中一个参数,因为我收到以下错误:
(soma-n 3 '(1 2 3))
; SOMA-N got 1 arg, wanted at least 2.
我调用函数的方式有什么问题?
答案 0 :(得分:4)
这是你可能想要的
(defun soma-n (n l)
(if (null l)
()
(cons (+ (first l) n) (soma-n n (rest l)))))
你只是传递了一个列表来递归调用some-n