可能重复:
In Lisp, how many inputs can the + function actually have?
以下代码给出了“太多参数”错误:
(setf u (loop for i upto 50000 collect 1))
(apply #'+ u)
同样适用于
(apply #'= u)
所以我想在用& rest写defun的时候,有一个参数个数的上限。它是什么?我在该网站上搜索并尝试了here和各种页面,但我无法理解这一点。
答案 0 :(得分:5)
有一个名为CALL-ARGUMENTS-LIMIT的常量,它为您提供了可以传递给函数的参数的上限。
但是,在您的初始示例中,您绝对可以使用REDUCE:
(reduce #'+ u)