具体来说,在以下情况下应该发生什么:
(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
如here所述,特定的arities优先于其余参数。