在 REPL 中,我意外地键入了
user=> 1. "\w+"
RuntimeException 不支持的转义字符:\w clojure.lang.Util.runtimeExcession (Util.java:156)
<core$PLUS clojure.core$PLUS@6b7dc78>
您可以看到令人困惑的结果(REPL 也留在一个未关闭的字符串中)。通过查看 LispReader.java,我认为 DispatchReader 至少应该在调用 CtorReader 前检查空白字符(可能更好的方法是检查有效的符号字符)。