Больше странностей Clojure. У меня есть эта функция, которую я пытаюсь определить и вызвать. У него есть 3 аргумента, но когда я вызываю его с 3 аргументами, я получаю
Wrong number of args (1) passed to: solr-query$correct-doc-in-results-QMARK-$fn
[Thrown class clojure.lang.ArityException]
когда я вызываю это с двумя аргументами, я получаю
Wrong number of args (2) passed to: solr-query$correct-doc-in-results-QMARK-
[Thrown class clojure.lang.ArityException]
и когда я называю это 4 аргументами, я получаю
Wrong number of args (4) passed to: solr-query$correct-doc-in-results-QMARK-
[Thrown class clojure.lang.ArityException]
вот определение функции:
(defn correct-doc-in-results? [query results docid]
"Check if the docid we expected is returned in the results"
(some #(.equals docid) (map :id (get results query))))
и вот как я пытаюсь вызвать его (из REPL с использованием swank в emacs):
(correct-doc-in-results? "FLASHLIGHT" all-queries "60184")
У кого-нибудь есть идеи, что происходит? Почему мне кажется, что я передаю только 1 аргумент, когда я передаю 3, но принимает это правильно для 2 или 4? Я еще не очень хорошо знаю программист, но определение функции довольно простое.