我对Clojure很陌生。堆栈跟踪不是我习惯使用Java或Scala,但通常我可以通过,直到现在。我正在运行一个简单的控制台程序,启动,运行,打印一些输出,然后这个:
java.lang.ClassCastException, compiling: <removed by me!>
at clojure.lang.Compiler.load(Compiler.java:7142)
at clojure.lang.Compiler.loadFile(Compiler.java:7086)
at clojure.main$load_script.invoke(main.clj:274)
at clojure.main$init_opt.invoke(main.clj:279)
at clojure.main$initialize.invoke(main.clj:307)
at clojure.main$null_opt.invoke(main.clj:342)
at clojure.main$main.doInvoke(main.clj:420)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.lang.ClassCastException
最可能的原因是什么?对于经验更丰富的Clojure程序员来说,这种事情是否会发生? (修辞问题)。有没有办法更谨慎地避免这种事情?我该如何快速回到正轨?我可以在这个事件发生的时候准确地进行跟踪和计算,但是我想知道是否有更好的方法来实现它...
答案 0 :(得分:0)
pos?
必须询问某个数字。
(pos? cannot-be-a-vector)
就是这个案子!