2012-06-23 5 views
7
私は喜んでclojurescriptで離れてハッキングされた

、:ClojureScriptパラメータ宣言エラー

java.lang.IllegalArgumentExceptionが:パラメータ宣言clojure.core/letがベクトル core.cljする必要があります: 6567 clojure.core /主張-有効-fdecl core.clj:220 clojure.core/SIGS

私は、コードのすべてのビットをコメントしようとしたが、その他のサーバを再起動し.....私はcljsbuild 0.2を使用しています.1昏睡のために。このエラーをどのようにデバッグするのですか?

以下は、完全なスタックトレースであり、それはエラーの原因とすることができたラインを示しdoes notの -

Compiling "resources/public/cljs/client.js" failed: 
java.lang.IllegalArgumentException: Parameter declaration clojure.core/let should be a vector 
       core.clj:6567 clojure.core/assert-valid-fdecl 
       core.clj:220 clojure.core/sigs 
       core.clj:294 clojure.core/defn 
       RestFn.java:146 clojure.lang.RestFn.applyTo 
       core.clj:605 clojure.core/apply 
      compiler.clj:1394 cljs.compiler/macroexpand-1 
      compiler.clj:1411 cljs.compiler/analyze-seq 
      compiler.clj:1468 cljs.compiler/analyze 
      compiler.clj:1416 cljs.compiler/analyze-seq 
      compiler.clj:1468 cljs.compiler/analyze 
      compiler.clj:1461 cljs.compiler/analyze 
      compiler.clj:829 cljs.compiler/analyze-block 
      compiler.clj:1036 cljs.compiler/eval1347[fn] 
      MultiFn.java:177 clojure.lang.MultiFn.invoke 
      compiler.clj:1414 cljs.compiler/analyze-seq 
      compiler.clj:1468 cljs.compiler/analyze 
      compiler.clj:1416 cljs.compiler/analyze-seq 
      compiler.clj:1468 cljs.compiler/analyze 
      compiler.clj:1461 cljs.compiler/analyze 
      compiler.clj:1487 cljs.compiler/analyze-file 
      compiler.clj:1153 cljs.compiler/analyze-deps 
      compiler.clj:1187 cljs.compiler/eval1420[fn] 
      MultiFn.java:177 clojure.lang.MultiFn.invoke 
      compiler.clj:1414 cljs.compiler/analyze-seq 
      compiler.clj:1468 cljs.compiler/analyze 
      compiler.clj:1461 cljs.compiler/analyze 
      compiler.clj:1529 cljs.compiler/compile-file* 
      compiler.clj:1567 cljs.compiler/compile-file 
      compiler.clj:1628 cljs.compiler/compile-root 
       closure.clj:367 cljs.closure/compile-dir 
       closure.clj:399 cljs.closure/eval2024[fn] 
       closure.clj:266 cljs.closure/eval1952[fn] 
       closure.clj:413 cljs.closure/eval2011[fn] 
       closure.clj:266 cljs.closure/eval1952[fn] 
       closure.clj:877 cljs.closure/build 
       compiler.clj:49 cljsbuild.compiler/compile-cljs[fn] 
       compiler.clj:48 cljsbuild.compiler/compile-cljs 
      compiler.clj:116 cljsbuild.compiler/run-compiler 
      NO_SOURCE_FILE:1 user/eval2452[fn] 
       LazySeq.java:42 clojure.lang.LazySeq.sval 
       LazySeq.java:60 clojure.lang.LazySeq.seq 
        RT.java:473 clojure.lang.RT.seq 
       core.clj:133 clojure.core/seq 
       core.clj:2725 clojure.core/dorun 
       core.clj:2741 clojure.core/doall 
      NO_SOURCE_FILE:1 user/eval2452 
      Compiler.java:6511 clojure.lang.Compiler.eval 
      Compiler.java:6501 clojure.lang.Compiler.eval 
      Compiler.java:6500 clojure.lang.Compiler.eval 
      Compiler.java:6501 clojure.lang.Compiler.eval 
      Compiler.java:6477 clojure.lang.Compiler.eval 
       core.clj:2797 clojure.core/eval 
       main.clj:297 clojure.main/eval-opt 
       main.clj:316 clojure.main/initialize 
       main.clj:349 clojure.main/null-opt 
       main.clj:427 clojure.main/main 
       RestFn.java:421 clojure.lang.RestFn.invoke 
       Var.java:419 clojure.lang.Var.invoke 
       AFn.java:163 clojure.lang.AFn.applyToHelper 
       Var.java:532 clojure.lang.Var.applyTo 
       main.java:37 clojure.main.main 
+3

コードを表示する必要があります。私はclojurescriptだけをclojureでは知りませんが、エラーから、 'let((foo" bar "))..'のようなものを置くように見え、 '(foo" bar ")..' – jcubic

+0

また、 '(defn foo [bar] ..)'とは対照的に、 '(defn foo(bar)..')を持っています。 –

答えて

2

コンパイラは、理想的には、あなたの構文エラーのために行番号を発する必要があります。間違った形式のlet式があります。

+0

私は上記の完全なスタックトレースを投稿しました – murtaza52

+0

非常に似た問題、私のスタックstraceの 'NO_SOURCE_FILE:1'として反映されます – vemv

関連する問題