nkiesel
12/28/2022, 12:50 AMchunked
(or chunkedBy
) which takes a predicate instead of an Int? Something like
fun <T> List<T>.chunkedBy(predicate: (T) -> Boolean): List<List<T>> =
fold(mutableListOf(mutableListOf<T>())) { acc, item ->
if (predicate(item)) {
acc.add(mutableListOf())
} else {
acc.last().add(item)
}
acc
}
marcinmoskala
12/28/2022, 7:21 AMnkiesel
12/28/2022, 10:36 PMlist.chunkedBy { it.isEmpty() }
neatly expresses that. (and yes, mostly comes up in December every year during AoC).marcinmoskala
12/29/2022, 8:00 AM