string - 将Scheme表达式转换为字符串

标签 string macros lambda scheme expression

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

例如,对于宏字符串: (to-string (lambda(x) x)) 这应该返回>>“(lambda (x) x)”

任何想法,谢谢大家

最佳答案

标准方案(至少在 R5RS 意义上)无法做到这一点,因此如果您想要可移植代码,您需要自己遍历结构。乏味,但不太复杂(即使对于点列表)。 但如果您只想要一些工作版本,那么您应该查看您的实现手册并搜索执行此操作的方法。答案几乎总是很简单,例如,在 PLT 方案中,您可以使用 (format "~s"'(lambda ...))

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

相关文章:

macros - nom 如何在宏指示符位置进行宏调用?

lambda - Kotlin的奇怪Lambda

c# - 从不同的 IEnumerable 映射 KeyValuePair

java - java中如何检查字符串是否包含数字以外的字符?

java - 字符串异常如何处理

c++ - 实现登录功能或宏可以记录日期和功能名称

c - 在c复合语句中使用宏时

c++ - 插入 vector 时使用 lambda 的返回值而不是函数的返回值有意义吗?

c# - .NET 如何准确比较字符串?

Javascript正则表达式如何获取字符串中两个单词之间的所有出现次数