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

在实际示例中,我在文件中的一级定义中有一个多余的 π 字符,位于第 142 行的两个 defn 表单之间。错误消息是

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?

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