EVAL/APPLY: 给 F 的参数太多
EVAL/APPLY: too many arguments given to F
你好,为什么我在使用嵌套列表参数调用函数时得到 *** - EVAL/APPLY: too many arguments given to F
。我想不通,因为我传递了一个简单的嵌套列表。
(defun f (L)
(cond
((NULL l) nil)
((listp (car L))
(append (F(car L))) (F(cdr L) (car (F (car L)))))
(T (list(car L)))
)
)
(setq A '((1) 2 3))
(f A)
这种更好的格式应该可以很容易地发现错误:
(defun f (l)
(cond ((null l) nil)
((listp (car l))
(append (f (car l)))
(f (cdr l)
(car (f (car l)))))
(t (list (car l)))))
如果这没有帮助,请使用 SBCL 编译该函数。它会给你一个非常明确的错误信息。
你好,为什么我在使用嵌套列表参数调用函数时得到 *** - EVAL/APPLY: too many arguments given to F
。我想不通,因为我传递了一个简单的嵌套列表。
(defun f (L)
(cond
((NULL l) nil)
((listp (car L))
(append (F(car L))) (F(cdr L) (car (F (car L)))))
(T (list(car L)))
)
)
(setq A '((1) 2 3))
(f A)
这种更好的格式应该可以很容易地发现错误:
(defun f (l)
(cond ((null l) nil)
((listp (car l))
(append (f (car l)))
(f (cdr l)
(car (f (car l)))))
(t (list (car l)))))
如果这没有帮助,请使用 SBCL 编译该函数。它会给你一个非常明确的错误信息。