Skip to content

Commit 86a6790

Browse files
committed
Clean up group-by descriptions & spelling
1 parent d6b1b57 commit 86a6790

2 files changed

Lines changed: 15 additions & 12 deletions

File tree

resources/koans.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@
216216
{:last-name "Smith" :id 1}]
217217
2 [{:name "Mike" :id 2}]}
218218
nil
219-
{:nauty-list [{:name "Jimmy" :bad true}
220-
{:name "Joe" :bad true}]
219+
{:naughty-list [{:name "Jimmy" :bad true}
220+
{:name "Joe" :bad true}]
221221
:nice-list [{:name "Jack" :bad false}]}]}]
222222
]

src/koans/21_group_by.clj

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,32 @@
44

55
(meditations
66

7-
"To split a collection categorized by keys use the group-by function."
7+
"To categorize a collection by some function, use group-by."
88
(= __ (group-by count ["hello" "world" "foo" "bar"]))
99

1010

11-
"Sometimes you want to filter a sequence but also keep the predicate."
12-
(= (get-odds-and-evens '(1 2 3 4 5))
13-
[[1 3 5] [2 4]])
11+
"You can simulate filter + remove in one pass"
12+
(= (get-odds-and-evens [1 2 3 4 5])
13+
((partial (juxt filter remove) odd?) [1 2 3 4 5])
14+
[[1 3 5] [2 4]])
1415

1516
"You can also group by a primary key"
1617
(= __
1718
(group-by :id [{:id 1 :name "Bob"}
18-
{:id 2 :name "Mike"}
19-
{:id 1 :last-name "Smith"} ]))
19+
{:id 2 :name "Mike"}
20+
{:id 1 :last-name "Smith"} ]))
2021

21-
"but be careful when you group by non primary key"
22-
(= {"Bob" [{:name "Bob" :id 1}], "Mike" [{:name "Mike" :id 2}], __ [{:last-name "Smith" :id 1}]}
22+
"But be careful when you group by non-required key"
23+
(= {"Bob" [{:name "Bob" :id 1}]
24+
"Mike" [{:name "Mike" :id 2}]
25+
__ [{:last-name "Smith" :id 1}]}
2326
(group-by :name [{:id 1 :name "Bob"}
2427
{:id 2 :name "Mike"}
2528
{:id 1 :last-name "Smith"}]))
2629

27-
"The true power of group-by is using a custom function"
30+
"The true power of group-by comes with custom functions"
2831
(= __
29-
(group-by #(if (:bad %) :nauty-list :nice-list)
32+
(group-by #(if (:bad %) :naughty-list :nice-list)
3033
[{:name "Jimmy" :bad true}
3134
{:name "Jack" :bad false}
3235
{:name "Joe" :bad true}])))

0 commit comments

Comments
 (0)