Slide 19
Slide 19 text
FIRST CLASS CITIZENS
fun funWithFunctions() {
var list = listOf("0", "1","2","3","4","5")
// Effective function polymorphism
morphList(list, ::firstFive)
morphList(list, ::reverse)
morphList(list, ::empty)
}
fun morphList(list: List< E>, transform: (List< E>) -> List< E>): List {
return transform(list)
}
fun firstFive(list: List< E>): List = list.subList( 0, 5)
fun reverse(list : List< E>) : List = list.reversed()
fun empty(list : List< E>) : List = return emptyList()
19