2011-09-08 32 views

回答

11

您可以使用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))