HigherOrderFunctions&Lambda.gif
........
摘自:
源代码:
package com.light.sword.coursera
val lengthFun = fun(s: String): Int = s.length //lengthFun is a fun variable
val isOddFun = fun(x: Int): Boolean = x % 2 != 0
fun compose(length: (String) -> Int, isOdd: (Int) -> Boolean): (String) -> Boolean {
return { x -> isOdd(length(x)) }
}
fun main(args: Array<String>) {
val words = listOf("Hello", "U", "Kotlin", "Java")
val result = words.filter(compose(lengthFun, isOddFun)) // Use lengthFun directly
println(result) // [Hello, U]
}