我正在使用一个名为CCL的常见lisp实现,我遇到了一个我不太明白的奇怪问题。
我打电话的时候:
(read-from-string "(=)")
我得到一个包含相等运算符的列表:
(=)
但是当我打电话时:
(read-from-string "(<)")
我在&lt;:
前面得到一个反斜杠(\<)
我觉得这很混乱,我想知道这可能是我的实施特定的,还是这个规范的一部分?为什么这个\显示为&lt;和&gt;但不是=?
无论如何都要避免反斜杠?
答案 0 :(得分:2)
反斜杠只是一个演示问题。
当您执行(mapcar #'symbol-name (read-from-string "(<)"))
时,您可能会获得("<")
,因此 获得正确的符号。
如果您愿意,您可以将此报告为CCL维护者的错误,因为此反斜杠是与ANSI CL标准的(次要)偏差。