Чтобы быть конкретным, что должно произойти в следующей ситуации:
(defn avg
([] 0)
([& args] (/ (reduce + args) (count args))))
(avg)
т. е. могу ли я полагаться на то, что clojure всегда будет возвращать 0, а не делить на ноль?
Чтобы быть конкретным, что должно произойти в следующей ситуации:
(defn avg
([] 0)
([& args] (/ (reduce + args) (count args))))
(avg)
т. е. могу ли я полагаться на то, что clojure всегда будет возвращать 0, а не делить на ноль?
Вы можете полагаться на то, что Clojure возвращает 0, а не делит на ноль. Но это не первый матч, первый обслужен:
(defn avg
([& args] (/ (reduce + args) (count args)))
([] 0))
(avg)
; 0
Конкретные параметры имеют приоритет над аргументом остальные, как описано здесь.