常见的lisp:函数可以使用多少个参数?

时间:2012-08-01 06:51:06

标签: common-lisp

  

可能重复:
  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和各种页面,但我无法理解这一点。

1 个答案:

答案 0 :(得分:5)

有一个名为CALL-ARGUMENTS-LIMIT的常量,它为您提供了可以传递给函数的参数的上限。

但是,在您的初始示例中,您绝对可以使用REDUCE:

(reduce #'+ u)