2011-09-08 13 views

risposta

11

È possibile utilizzare procedure-arity.

(procedure-arity expt)      ; => 2 

Si noti che quando si utilizza procedure-arity con funzioni variadic o case-lambda o simili, i risultati sono più complicate:

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