作为一个事后想法,我猜如果你使用 `reduce` 而不是 `apply`,你可以遵循 Rich Hickey 的建议,不要使用 `reduce` 的两个参数版本
用户=> (reduce max [])
执行错误(ArityException)在用户/eval9(REPL:1)。
向 clojure.core/max 传递了错误的参数数量(0)
用户=> (reduce max Integer/MIN_VALUE [])
-2147483648
用户=> (reduce max Integer/MIN_VALUE [2])
2
用户=>