给定一个带有无效尾部字符的表单(我认为我在更改窗口时按错了按键组合),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,而不是行号。