6
我想下面的例子轉換爲新的Clojure 1.5減速機庫摺疊:Clojure的異徑庫 - 有最大
(reduce max (map inc (range 10)))
;=> 10
當我改變它 - 我得到以下錯誤:
(r/fold max (r/map inc (range 10)))
;ArityException Wrong number of args (0) passed to: core$max clojure.lang.AFn.throwArity (AFn.java:437)
有人可以給我一個正確的解決方案嗎?
好的 - 看起來他們在Google小組中討論過它:https://groups.google.com/forum/?fromgroups=#!searchin/clojure/reduce$20max/clojure/EJ9hOZ8yaos/TULab4pndwoJ – hawkeye
@Jan有一個叫做'monoid'的助手,使用它,你的第二個代碼示例就減少到了例如'(r/fold(r/monoid max#(Double/NEGATIVE_INFINITY))(r/map inc(range 10)))' –
@EugeneBeresovksy,謝謝,我不知道'monoid'函數。我已經更新了答案。 – Jan