作为一个附带的思考,我想如果你使用 `reduce` 而不是 `apply`,你可以遵循 Rich Hickey 的建议,不要使用 `reduce` 的双参数版本
user=> (reduce max [])
执行错误(ArityException)在用户/评估9(REPL:1)。
传递给clojure.core/max的错误参数数量(0)
user=> (reduce max Integer/MIN_VALUE [])
-2147483648
user=> (reduce max Integer/MIN_VALUE [2])
2
user=>