例如:
(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 object operations部分和 syntax/stx
导出的函数.
关于scheme - 在Racket或Scheme中,有没有办法将省略号语法对象转换为语法对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18255571/