Skip to content

Instantly share code, notes, and snippets.

@priort

priort/PersistTheList6.kt

Last active Jul 12, 2019
Embed
What would you like to do?
fun <E> dropWhile(list: List<E>, f: (E) -> Boolean): List<E> =
when(list) {
Empty -> Empty
is Cons -> if (f(list.head)) dropWhile(list.tail, f) else list
}
fun main() {
val myList = Cons(1, Cons(2, Cons(3, Cons(4, Empty))))
dropWhile(myList) { it < 3 }.let(::println)
dropWhile(myList) { it < 1 }.let(::println)
dropWhile(myList) { it < 10 }.let(::println)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.