Add koans for partition function
This commit is contained in:
parent
f1ee68affc
commit
626f97de8f
@ -15,7 +15,6 @@ Particular Functions
|
|||||||
fnil - creating_a_function
|
fnil - creating_a_function
|
||||||
juxt - creating_a_function
|
juxt - creating_a_function
|
||||||
constantly - creating_a_function
|
constantly - creating_a_function
|
||||||
partition
|
|
||||||
flatten
|
flatten
|
||||||
|
|
||||||
frequencies
|
frequencies
|
||||||
|
@ -196,4 +196,11 @@
|
|||||||
]
|
]
|
||||||
"___" [#(.toUpperCase %)
|
"___" [#(.toUpperCase %)
|
||||||
]
|
]
|
||||||
}]]
|
}]
|
||||||
|
["20_partition" {"__" [partition
|
||||||
|
[:a :b :c]
|
||||||
|
'((0 1 2) (3 4))
|
||||||
|
5
|
||||||
|
:hello
|
||||||
|
(6 :this :are)
|
||||||
|
]}]]
|
||||||
|
18
src/koans/20_partition.clj
Normal file
18
src/koans/20_partition.clj
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
(meditations
|
||||||
|
"To split a collection you can use the partition function"
|
||||||
|
(= '((0 1) (2 3)) (__ 2 (range 4)))
|
||||||
|
|
||||||
|
"But watch out if there is not enough elements to form n sequences"
|
||||||
|
(= '(__) (partition 3 [:a :b :c :d :e]))
|
||||||
|
|
||||||
|
"You can use partition-all to also get partitions with less then n elements"
|
||||||
|
(= __ (partition-all 3 (range 5)))
|
||||||
|
|
||||||
|
"If you need to, you can start each sequence with an offset"
|
||||||
|
(= '((0 1 2) (5 6 7) (10 11 12)) (partition 3 __ (range 13)))
|
||||||
|
|
||||||
|
"Consider padding the last sequence with some default values.."
|
||||||
|
(= '((0 1 2) (3 4 5) (6 :hello)) (partition 3 3 [__] (range 7)))
|
||||||
|
|
||||||
|
".. but notice that they will only pad up to given sequence length"
|
||||||
|
(= '((0 1 2) (3 4 5) __) (partition 3 3 [:this :are "my" "words"] (range 7))))
|
Loading…
Reference in New Issue
Block a user