2016-11-08 12 views
0

リスト内の値を関数にどのように渡すことができるかを調べようとしています。関数へのラケットパスのリスト要素

例:

(define l (list (list 1) (list 2) (list 3 4))) --> l = '((1) (2) (3 4)) 

(define (myFunc el1 el2 el3) 
    ...Whatever is in my function). 

このように、どのように私はLの要素でmyFuncというを呼び出すことができるだろう、 私は(myFunc '(1) '(2) '(3 4))を持っているでしょう。

+0

'(apply myFunc l)'? – Sylwester

答えて

0

applyをお試しください。たとえば、

(define l (list (list 1) (list 2) (list 3 4))) 

(define (my-func el1 el2 el3) 
    (+ (length el1) (length el2) (length el3))) 

(apply my-func l) ; => 4 

Hereはドキュメントです。

+0

ありがとうございました!しかしもう1つの質問。リストの値をマクロに渡したいのであれば、どうすればできますか?例:(define-syntax myMacro(構文規則()(myMacro ...)))) – RichardHendrix