【发布时间】:2014-05-19 15:08:56
【问题描述】:
我遇到过 prin1-to-string 和 read 不存在的情况
符号相互颠倒,例如:
(prin1-to-string (read "foo?"))
;; "foo\\?"
(prin1-to-string (read "foo."))
;; "foo\\."
我想了解所有可能发生这种情况的情况。 我对区分不同来源的方法特别感兴趣 产生相同代码的代码,例如:
(prin1-to-string (read "foo."))
;; "foo\\."
(prin1-to-string (read "foo\\."))
;; "foo\\."
我正在考虑将 foo.bar 之类的不确定符号替换为正则表达式
例如'(raw "foo.bar") 在将其传递给 read 之前。但我需要知道
这些不确定符号的完整正则表达式。
我查看了信息页面,但没有找到符号的精确语法 还没有。
【问题讨论】:
-
foo.和foo\.是 same 符号。为什么需要区分它们? -
它们在代码中相同,但在源代码中不同。我正在编写修改源代码的代码,这就是为什么我想区分
foo.和foo\.。 -
不过,将一个替换为另一个并不会改变源代码的含义,因此您也可以将它们视为与源代码相同。