给定表达式'(lambda(x)x)如何将其转换为字符串。我以为symbol-> string可以完成任务,但是不,它不能不是一个符号。

例如,将宏作为字符串:
(to-string(lambda(x)x)),这应返回>>“(lambda(x)x)”

大家有什么想法谢谢

最佳答案

Standard Scheme(至少在R5RS意义上来说)无法做到这一点,因此,如果您想要可移植的代码,则需要自己遍历该结构。乏味,但又不太复杂(即使是虚线列表也是如此)。
但是,如果您只想要一些工作版本,则应查看实现手册,并寻找实现此目的的方法。答案几乎总是很简单,例如,在PLT Scheme中,您将使用(format "~s" '(lambda ...))

关于string - 将Scheme表达式转换为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1658922/

10-13 03:24