方案 - 如何使用 "."作为符号

标签 scheme

我想做这样的事情:

(car '(. a))

并得到

.

结果。

例如,如果您输入

'.

进入控制台你会得到我想要的输出。问题是我不想在所有 .在列表中。

有什么指导吗?

最佳答案

在Scheme的读取语法中,独立的点是特殊的。 '. 不会给你一个点符号;这是无效的语法。 (如果它在您的实现中有效,那么这只是您的实现的一个特殊怪癖。)

相反,你必须逃避它。在大多数Scheme实现中,您可以使用'|.|'\..

(car '(\. a))   ; returns the same thing as (string->symbol ".")
(car '(|.| a))  ; likewise

关于方案 - 如何使用 "."作为符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9986664/

相关文章:

scheme - 在 DrRacket IDE 中创建可执行文件时使用 .ico 文件作为图标

scheme - 检查方案中的排列

Vim 8.0 扩展了 scheme 的语法高亮

lisp - Scheme 可以扩展一个列表作为参数吗?

set - 为什么我在 Scheme 中的 adjoin-set 过程会返回错误?

coding-style - 为什么Scheme中优先定义let?

arguments - Racket 类中的默认/可选参数?

recursion - 如何在函数式程序中实现尾递归

macros - 如何使用Scheme中的语法规则从列表创建列表?