2017-11-15
Spoon of Code
Spoon of code is a small blog post (a gist, a code kata) solving a simple (possibly common) problem. Straight to the point. Mostly in Clojure as this is the main language I use these days. Like this:
Find the index of an item in a collection by given predicate
Example:
You have a list of items [{:a 1} {:a 3} {:a 2} {:a 5}]
and you want to know the index of the first item for which value of :a
is even
Solution:
; 2
Explanation:
pred->index
uses keep-indexed
to return only the non-nil results of calling provided pred
(in above case that’s (comp even? :a)
) on all items in coll
. The function then returns the first result from that lazy sequence.
And that’s it - come back soon for more Spoons of Code (and other things)!