У меня есть функция, которая принимает лямбду в качестве аргумента:
fun blupp(theFun: ((a: Int, b: Int, c: String, d: String) -> Unit)) {
theFun(1, 2, "three", "four")
}
Я реализовал функцию, которая соответствует прототипу лямбды:
fun blah(a: Int, b: Int, c: String, d: String) {
println("a=$a, b=$b, c=$c, d=$d")
}
Я могу передать blah
в blupp
вот так:
fun main() {
blupp { a, b, c, d -> blah(a, b, c, d) }
}
Можно ли передать blah
в blupp
без необходимости повторного объявления всех аргументов? Я ищу такую конструкцию, подобную этой:
blupp { blah(it) } // doesn't compile
blupp { blah } // doesn't compile
blupp(blah) // doesn't compile
Примечание: конечно, я мог бы просто вставить blah
в вызов, но это не то, что я хочу, потому что я звоню blah
из других мест. а также.