HigherOrderFunctions&Lambda.gif
........
摘自:
《Kotlin 極簡教程》
源代碼:
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] }