6
実行時に関数にいくつの入力(引数、パラメータ)があるかを知る方法はありますか?関数が持つ入力の数を動的に調べる
(define (my-function unknown-function)
...
(number-of-necessary-arguments unknown-function)
...)
実行時に関数にいくつの入力(引数、パラメータ)があるかを知る方法はありますか?関数が持つ入力の数を動的に調べる
(define (my-function unknown-function)
...
(number-of-necessary-arguments unknown-function)
...)
あなたはprocedure-arity
を使用することができます。
言ってやるが、私はしたいと思います。
(procedure-arity expt) ; => 2
注可変長引数の関数やcase-lambda
等でprocedure-arity
を使用した場合、結果はより複雑であること:
(procedure-arity apply) ; => (arity-at-least 2)
(procedure-arity (case-lambda
((x) x)
((x y z) z)
((a b c d e f . g) g))) ; => `(1 3 ,(arity-at-least 6))
は、あなたが実際に「適用」を必要としませんか? – paul