Lisp函数获取错误的参数数量

时间:2014-10-08 17:41:43

标签: lisp common-lisp

我定义了以下函数 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.

我调用函数的方式有什么问题?

1 个答案:

答案 0 :(得分:4)

这是你可能想要的

(defun soma-n (n l)
  (if (null l)
      ()
      (cons (+ (first l) n) (soma-n n (rest l)))))

你只是传递了一个列表来递归调用some-n