我相信这是有效的Clojure代码 - 并在雷音控制台REPL运行良好 - 但错误狂草REPL里面:错误数量的参数(0)已通过...错误?
Connecting to local nREPL server...
Clojure 1.8.0
nREPL server started on port 41303 on host 127.0.0.1 - nrepl://127.0.0.1:41303
*ns*
=> #object[clojure.lang.Namespace 0x4394b860 "user"]
(defn concat-some
[f vec1 vec2]
((fn [x] (filter f x)
(concat vec1 vec2))))
=> #'user/concat-some
(concat-some even? [1 2 3] [4 5 6])
clojure.lang.ArityException: Wrong number of args (0) passed to: user/concat-some/fn--4953
我失去了一些东西在这里?
谢谢你的帮助!
编辑和追问:
这绝对是一个Parinfer问题。此代码:
(defn concat-some
[f vec1 vec2]
((fn [x] (filter f x))
(concat vec1 vec2)))
(concat-some even? [1 2 3] [4 5 6])
当粘贴到草书REPL与Parinfer开启产生一个不正确的粘贴和上述所得ArityException。粘贴到同一REPL与Paredit相同的代码开启或结构化编辑关闭将产生预期的输出:
;; => #'user/concat-some
;; => (2 4 6)
我不知道,结构化编辑时行草活跃在编辑器中使用 - 和REPL。我仍然希望有效的代码是有效的代码,不管模式是什么,并且不知道这是否是粘贴到草书/ Parinfer REPL中的预期结果(?)
再次感谢您对此的帮助。
这在您的Lein repl中也不起作用。你错误地复制了粘贴,结果你的保姆错位了。 – amalloy
请参阅上面的修改。 – ericky