【发布时间】:2019-06-11 05:07:33
【问题描述】:
我有一个 Kotlin 函数 fun myFun(book:Book){...}。如何将myFun 传递给接受 lambda 的函数?
有趣的接受者(任务:(书:书)->单元){ var someBook = ... ... 任务(某本书) }
【问题讨论】:
标签: kotlin lambda higher-order-functions
我有一个 Kotlin 函数 fun myFun(book:Book){...}。如何将myFun 传递给接受 lambda 的函数?
有趣的接受者(任务:(书:书)->单元){ var someBook = ... ... 任务(某本书) }
【问题讨论】:
标签: kotlin lambda higher-order-functions
class MyClass {
fun myFun(book:Book) {
...
}
fun otherThatCallsAccept() {
/* other stuff */
acceptor(::myFun)
}
}
编辑:你不能在没有参数的情况下调用acceptor,但你可以定义一个默认的空lambda,
fun acceptor(task: (book:Book) -> Unit = {}) {
/* body here */
}
【讨论】:
acceptor?