我想做类似的事情:
(car '(. a))
并获取
.
结果。
例如,如果您键入
'.
进入控制台,您将获得我想要的输出。问题是我不希望所有的撇号都在前面。在列表中。
任何指导?
答案 0 :(得分:7)
在Scheme的读取语法中,独立点是特殊的。 '.
不会给你一个点符号;这是无效的语法。 (如果它在您的实现中有效,那么这只是您实现的一个特殊怪癖。)
'|.|
或'\.
。
(car '(\. a)) ; returns the same thing as (string->symbol ".")
(car '(|.| a)) ; likewise
答案 1 :(得分:3)
编辑:这似乎仅适用于麻省理工学院/ GNU计划。
'
创建符号和列表文字。如果您希望将.
作为符号,则为'.
。
如果a
是符号文字,则可以使用
(car '(. a))
或
(car (list '. 'a))
如果a
是变量,请尝试
(car `(. ,a))
或
(car (list '. a))