例如:
(syntax-case #'(a b c d) ()
((x ...) (list #'x ...))
在示例中,(list #'x ...)
显然不起作用,但我能做些什么来输出等价的(list #'a #'b #'c #'d)
?
例如:
(syntax-case #'(a b c d) ()
((x ...) (list #'x ...))
在示例中,(list #'x ...)
显然不起作用,但我能做些什么来输出等价的(list #'a #'b #'c #'d)
?
这是一种方法:
Welcome to Racket v5.90.0.6.
-> (syntax-case #'(a b c d) ()
((x ...) (syntax->list #'(x ...))))
'(#<syntax:5:16 a> #<syntax:5:18 b> #<syntax:5:20 c> #<syntax:5:22 d>)
有关更多信息,请参阅语法对象操作部分和导出的函数syntax/stx
。