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 行开始,我不确定为什么 column 是 112,而 line 不是。

2 个答案

0

Clojure 的哪个版本?

玩具示例使用Clojure CLI版本1.10.3.981,真实示例使用Clojure 1.10.1。
0
by
...