2024 年 Clojure 状态调查 中分享您的想法!

欢迎!请参阅 关于 页面,了解更多相关信息。

0
语法和读取器

在 REPL 中,我意外地键入了

user=> 1. "\w+"
RuntimeException 不支持的转义字符:\w clojure.lang.Util.runtimeExcession (Util.java:156)
<core$PLUS clojure.core$PLUS@6b7dc78>

您可以看到令人困惑的结果(REPL 也留在一个未关闭的字符串中)。通过查看 LispReader.java,我认为 DispatchReader 至少应该在调用 CtorReader 前检查空白字符(可能更好的方法是检查有效的符号字符)。

6 个答案

0

评论者:bronsa

无法重现

0

评论者:alexmiller

对我来说,至少部分可重现。我在第一个例子中看到相同的行为。第二个例子在符号 1. } 之前工作得很好,但在给出的例子中,它因为合理的错误而失败。

0

评论者:bronsa

Ah, right.
要修复第一个错误,必须使 1. "\w+" 成为一个有效的正则表达式的字面量,即在 1. 和下一个分发字符之间允许空白。
这是我们要的吗?

0

评论者:alexmiller

不知道

0

评论者:alexmiller

已删除描述中的第二个(不再存在)示例。

0
参考: https://clojure.atlassian.net/browse/CLJ-878(由glchapman报告)
...