Вызов функции с параметром внутри лямбды в Котлине - PullRequest
0 голосов
/ 10 июня 2019

У меня есть функция Котлина fun myFun(book:Book){...}.Как передать myFun в функцию, которая принимает лямбду?

Приемник веселья (task: (book: Book) -> Unit) {var someBook = ... ... task (someBook)}

1 Ответ

2 голосов
/ 10 июня 2019
class MyClass {

    fun myFun(book:Book) {
        ...
    }

    fun otherThatCallsAccept() {
        /* other stuff */
        acceptor(::myFun)
    }
}

Редактировать: вы не можете вызвать acceptor без параметра, но вы можете определить пустую лямбду по умолчанию,

fun acceptor(task: (book:Book) -> Unit = {}) {
    /* body here */
}
...