我相信這是有效的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