Вы можете использовать procedure-arity
.
(procedure-arity expt) ; => 2
Обратите внимание, что при использовании procedure-arity
с переменными функциями или case-lambda
и т. П. Результаты более сложны:
(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))