这是Kotlin相当于从Coursera上的Scala MOOC中获取的函数.它返回一个函数,它在一个范围(a..b)上应用给定的映射器(f)
fun sum(f: (Int) -> Int): (Int, Int) -> Int {
fun sumF(a: Int, b: Int): Int =
if (a > b) 0
else f(a) + sumF(a + 1, b)
return sumF
}
Run Code Online (Sandbox Code Playgroud)
当定义命名函数 ( fun foo(...)) 时,不能将其名称用作表达式。
相反,您应该对其进行函数引用:
return ::sumF
Run Code Online (Sandbox Code Playgroud)
另请参阅:为什么 Kotlin 需要函数引用语法?
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |