Próbuję przekonwertować następujący przykład do nowych Clojure 1,5 reduktorów Biblioteka:Clojure reduktory biblioteka - składany z max
(reduce max (map inc (range 10)))
;=> 10
Kiedy zmienić to- pojawia się następujący błąd:
(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)
Czy ktoś może dać mi prawidłowe rozwiązanie?
OK - wygląda na to, że omówili to w grupie Google tutaj: https://groups.google.com/forum/?fromgroups=#!searchin/clojure/reduce$20max/clojure/EJ9hOZ8yaos/TULab4pndwoJ – hawkeye
@ Jan Istnieje pomocnik fn o nazwie 'monoid', w tym przypadku twój drugi przykład kodu zmniejsza się do np '(r/fold (r/monoid max # (Double/NEGATIVE_INFINITY)) (r/map inc (zakres 10)))' –
@EugeneBeresovksy, dziękuję, nie wiedziałem o funkcji 'monoid'. Zaktualizowałem odpowiedź. – Jan