Clean up group-by descriptions & spelling
This commit is contained in:
		@@ -216,7 +216,7 @@
 | 
			
		||||
                           {:last-name "Smith" :id 1}]
 | 
			
		||||
                        2 [{:name "Mike" :id 2}]}
 | 
			
		||||
                       nil
 | 
			
		||||
                       {:nauty-list [{:name "Jimmy" :bad true}
 | 
			
		||||
                       {:naughty-list [{:name "Jimmy" :bad true}
 | 
			
		||||
                                       {:name "Joe" :bad true}]
 | 
			
		||||
                        :nice-list [{:name "Jack" :bad false}]}]}]
 | 
			
		||||
]
 | 
			
		||||
 
 | 
			
		||||
@@ -4,12 +4,13 @@
 | 
			
		||||
 | 
			
		||||
(meditations
 | 
			
		||||
 | 
			
		||||
  "To split a collection categorized by keys use the group-by function."
 | 
			
		||||
  "To categorize a collection by some function, use group-by."
 | 
			
		||||
  (= __ (group-by count ["hello" "world" "foo" "bar"]))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  "Sometimes you want to filter a sequence but also keep the predicate."
 | 
			
		||||
  (= (get-odds-and-evens '(1 2 3 4 5))
 | 
			
		||||
  "You can simulate filter + remove in one pass"
 | 
			
		||||
  (= (get-odds-and-evens [1 2 3 4 5])
 | 
			
		||||
     ((partial (juxt filter remove) odd?) [1 2 3 4 5])
 | 
			
		||||
     [[1 3 5] [2 4]])
 | 
			
		||||
 | 
			
		||||
  "You can also group by a primary key"
 | 
			
		||||
@@ -18,15 +19,17 @@
 | 
			
		||||
                    {:id 2 :name "Mike"}
 | 
			
		||||
                    {:id 1 :last-name "Smith"} ]))
 | 
			
		||||
 | 
			
		||||
  "but be careful when you group by non primary key"
 | 
			
		||||
  (= {"Bob" [{:name "Bob" :id 1}], "Mike" [{:name "Mike" :id 2}], __ [{:last-name "Smith" :id 1}]}
 | 
			
		||||
  "But be careful when you group by non-required key"
 | 
			
		||||
  (= {"Bob" [{:name "Bob" :id 1}]
 | 
			
		||||
      "Mike" [{:name "Mike" :id 2}]
 | 
			
		||||
      __ [{:last-name "Smith" :id 1}]}
 | 
			
		||||
   (group-by :name [{:id 1 :name "Bob"}
 | 
			
		||||
                    {:id 2 :name "Mike"}
 | 
			
		||||
                    {:id 1 :last-name "Smith"}]))
 | 
			
		||||
 | 
			
		||||
  "The true power of group-by is using a custom function"
 | 
			
		||||
  "The true power of group-by comes with custom functions"
 | 
			
		||||
  (= __
 | 
			
		||||
     (group-by #(if (:bad %) :nauty-list :nice-list)
 | 
			
		||||
     (group-by #(if (:bad %) :naughty-list :nice-list)
 | 
			
		||||
               [{:name "Jimmy" :bad true}
 | 
			
		||||
                {:name "Jack" :bad false}
 | 
			
		||||
                {:name "Joe" :bad true}])))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user