Предположим, у меня есть функция высокого порядка, которая принимает лямбду в качестве параметра, подобного этому:
fun getNum(op: () -> Int) = op()
И функция, которая возвращает число:
fun getTen() = 10
В основной функции я могу вызвать функцию getNum()
следующим образом
fun main(args: Array<String>){
val x = 50
val a = getNum(::getTen) // a == 10
val b = getNum{x} // this works and b == 50
}
Почему работает передача varibale вместо лямбды? Любая идея? Спасибо.