On Oct 19, 4:54 am, Alex Osborne <a...@meshy.org> wrote:
> (reduce-by record-type
> (fn [count data] (+ count (units data)))
> 0 (get-idata))
Wow - that is a really nice abstraction!
Kind of leads to SQLalike queries:
(defn select-count
[grouper coll]
(reduce-by grouper (fn [x _] (inc x)) 0 coll))
(defn select-sum
[summer grouper coll]
(reduce-by grouper (fn [x row] (+ x (summer row))) 0 coll))
(let [owners #{{:name "dorris" :sale 5}
{:name "joe" :sale 2}
{:name "dorris" :sale 2}
{:name "joe" :sale 2}
{:name "carol" :sale 2}
{:name "louise" :sale 2}}]
(select-sum :sale :name owners))
#_({"carol" 2, "dorris" 7, "joe" 2, "louise" 2})
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---