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

欢迎!请查阅关于页面,了解更多关于如何使用本网站的信息。

0
语法和读取器

在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之前检查空白符(也许最好是检查有效的符号字符)。

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](https://clojure.atlassian.net/browse/CLJ-878)(由 glchapman 报告)
...