在方案中返回没有开始括号的准引号?
有没有办法使用准引号返回表达式,同时仍然摆脱开头的括号?
例如:
`(a ,(foo))
可以返回实际上返回
`a *foosvalue)
我意识到这看起来有点随机。我正在尝试在方案中编写一个函数,该函数返回一个表达式,然后可以使用eval
对其进行评估。有没有更好的方法只返回表达式?
Is there a way to return an expression using quasiquotes while still getting rid of the beginning parenthesis?
For example:
`(a ,(foo))
could return actually return
`a *foosvalue)
I realize this seems kind of random. I'm trying to write a function in scheme that returns an expression that can then be evaluated using eval
. Is there a better way for returning just expressions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
准引用只能返回有效的 S 表达式。您可以返回符号之类的内容,但不能返回列表的一部分。不过,您可以使用
,@
将列表中的多个元素拼接到准引号区域中。Quasiquoting can only return valid S-expressions. You can return something like a symbol, but not part of a list. You can splice multiple elements from a list into a quasiquoted region using
,@
, though.