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
...