球拍传递列表元素到宏

时间:2016-11-08 15:33:49

标签: scheme racket

我试图弄清楚如何将列表中的值传递给宏。

例如:

(define l (list (list 1) (list 2) (list 3 4))) --> l = '((1) (2) (3 4))
(define-syntax myMacro
  (syntax-rules ()
    [(myMacro <expr> ...) (printf "~a\n" <expr> ...)]))

我将如何做到这一点?因为如果你尝试使用(apply myMacro l),你会得到一个错误的语法:myMacro警告。我怎么能这样做?

感谢所有帮助。感谢。

0 个答案:

没有答案