1

我正在使用一个名为 CCL 的通用 lisp 实现,我遇到了一个我不太理解的奇怪问题。

当我打电话时:

(read-from-string "(=)")

我得到一个包含等号运算符的列表:

(=)

但是当我打电话时:

(read-from-string "(<)")

我在 < 前面有一个反斜杠:

(\<)

我觉得这很令人困惑,我想知道这是否特定于我的实现,或者这是规范的预期部分?为什么这个 \ 会显示 < 和 > 而不是 =?

有没有办法避免反斜杠?

4

1 回答 1

2

反斜杠只是一个演示问题。

当你这样做时,(mapcar #'symbol-name (read-from-string "(<)"))你可能会得到("<"),所以你得到了正确的符号。

如果您愿意,您可以将此作为错误报告给 CCL 维护人员,因为此反斜杠与 ANSI CL 标准有(微小)偏差。

于 2013-03-05T23:05:04.870 回答