Здесь Handler является типом функции.И doSomething - одна из таких функций-обработчиков.addHandler зарегистрировать его и дать ему имя.Вопрос в том, есть ли более простой способ преобразовать функцию doSomething в лямбду?
typealias Handler = (cmd: String, obj: Any?) -> Any?
fun doSomething(cmd: String, obj: Any?): Any? {...}
fun addHandler(name: String, handler: Handler) {...}
fun foo() {
addHandler("doSomething", { cmd, obj -> doSomething(cmd, obj) })
// or in other syntax
addHandler("doSomething") { cmd, obj -> doSomething(cmd, obj) }
}
Здесь фраза
{ cmd, obj -> doSomething(cmd, obj) }
просто конвертирует функцию в лямбду, которая имеет такой же параметрпоследовательность.C ++ имеет очень простой синтаксис и делает что-то для этого.Как насчет Котлина?