作为补充,我认为如果你使用`reduce`而不是`apply`,可以遵循Rich Hickey的忠告,不要使用`reduce`的两个参数版本
user=> (reduce max [])
执行错误(参数异常)在用户/评估9(REPL:1)。
向clojure.core/max传递了错误的参数数量(0)
user=> (reduce max Integer/MIN_VALUE [])
-2147483648
user=> (reduce max Integer/MIN_VALUE [2])
2
user=>