方案 - 如何使用"." 作为一种象征

Leb*_*156 2 scheme

我想做的事情如下:

(car '(. a))
Run Code Online (Sandbox Code Playgroud)

得到

.
Run Code Online (Sandbox Code Playgroud)

结果是.

例如,如果您键入

'.
Run Code Online (Sandbox Code Playgroud)

进入控制台,你将获得我想要的输出.问题是我不希望所有的撇号都在前面.在列表中.

任何指导?

Chr*_*ung 7

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

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

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