2011-09-08 16 views

Odpowiedz

11

Można użyć procedure-arity.

(procedure-arity expt)      ; => 2 

Należy pamiętać, że podczas korzystania z funkcji o zmiennej liczbie argumentów procedure-arity lub case-lambda lub tym podobne, wyniki są bardziej skomplikowane:

(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))