3

重複の可能性:
Lispでは、+関数は実際にいくつの入力を持つことができますか?

次のコードは、「引数が多すぎます」というエラーを示します。

(setf u (loop for i upto 50000 collect 1))
(apply #'+ u)

同様に

(apply #'= u)

したがって、&restを使用してdefunを記述する場合、引数の数には上限があると思います。それは何ですか?こことそのサイトのさまざまなページを検索して試しましたが、これを理解できませんでした。

4

1 に答える 1

5

関数に渡すことができる引数の数の上限を与えるCALL-ARGUMENTS-LIMITと呼ばれる定数があります。

ただし、最初の例では、確実にREDUCEを使用できます。

(reduce #'+ u)
于 2012-08-01T09:10:26.353 に答える