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

欢迎!有关如何操作的更多信息,请参阅关于 页面。

+1
Clojure
重新标记

给定一个带有无效尾部字符的表单(我认为我在更改窗口时按错了按键组合),Clojure 编译器会发出错误的行号错误。

给定一个foo.clj文件如下

(defn foo [x]
  (print "hello world")
  (+ x x))π

我们得到一个引用行0列0的错误消息

$ clj --init foo.clj
Syntax error compiling at (foo.clj:0:0).
Unable to resolve symbol: π in this context

在真实示例中,我在一个名为defn的表单之间,文件第142行顶部看到一个多余的π字符。错误消息是

Exception: clojure.lang.Compiler$CompilerException: Syntax error compiling at     (circle/model/test_build.clj:1:112).
#:clojure.error{:phase :compile-syntax-check, :line 1, :column 112, :source "circle/model/test_build.clj"}
at clojure.lang.Compiler.analyze (Compiler.java:6808)

在随机字符之前开始的defn表单位于第112行,我不知道为什么列号为112,而不是行号。

2 个回答

0

您使用的是哪个 Clojure 版本?

by
`Clojure CLI版本1.10.3.981`用于示例,实际示例使用Clojure 1.10.1。
0
by
...