Я новичок ie в Clojure и немного растерялся из-за того, как вызываются функции.
Допустим, у меня есть эта функция
(defn foo [& fns]
#(apply (first fns) %&))
Когда я вызываю ((foo + max min) 2 3 5 1 6 4)
он вернет 21
.
Когда я определю функцию следующим образом,
(defn foo [& fns]
(conj [] #(apply (first fns) %&)))
Я ожидал, что ((foo + max min) 2 3 5 1 6 4)
вернет [21]
, но вместо этого я получу
Execution error (ArityException) at user/eval2258 (REPL:1).
Wrong number of args (6) passed to: clojure.lang.PersistentVector
Почему это? И как бы это исправить?