在 REPL 中,我意外输入了
user=> 1. "\"\w+"
RuntimeException 不支持的转义字符: "\w" clojure.lang.Util.runtimeExce
ption (Util.java:156)
<core$PLUS clojure.core$PLUS@6b7dc78>
你可以看到令人困惑的结果(REPL 也保留在未关闭的字符串中)。查看 LispReader.java 之后,我觉得 DispatchReader 至少应该在调用 CtorReader 前检查空白字符(也许更好的是检查有效的符号字符)。