man*_*ank 2 overloading clojure defn arity
具体而言,在以下情况下会发生什么:
(defn avg
([] 0)
([& args] (/ (reduce + args) (count args))))
(avg)
Run Code Online (Sandbox Code Playgroud)
也就是说,我可以依靠clojure总是返回0而不是归零吗?
您可以依靠Clojure返回0而不是归零.但这不是第一场比赛,先到先得:
(defn avg
([& args] (/ (reduce + args) (count args)))
([] 0))
(avg)
; 0
Run Code Online (Sandbox Code Playgroud)
具体arities优先于其他参数,如所描述这里.
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |