Jeśli mam kolejność zapisów określonych (defrecord Person [name age])
i chcę dostać rekord osoby z maksymalnym wiekiem, czy istnieje prostszy sposób to zrobić niżjak zrobić max-by w clojure?
(reduce #(if (> (:age %1) (:age %2)) %1 %2) people)
To jedyny sposób, w jaki Do tej pory udało się to zrobić, ale wydaje się, że to dość częsty scenariusz, że muszą istnieć wbudowane funkcje biblioteczne, które ułatwiają i/lub generują.
'max-key' robi to samo' reduce' rzeczy, jak pokazano na pytanie :) – Ankur
Tak :) Zastanawiam się, gdyby to było dobre pomysł, aby użyć 'porównać' zamiast'> '? tzn. 'max-key' może działać z dowolnymi wartościami zamiast tylko liczbowymi (jak opisano w dokumencie). – vemv