Вам нужно назвать свой лямбда-параметр или, если он не будет использоваться, назвать его как _
.
Примерно так:
fun example1() {
var t1 = Testing()
t1.test(1, "String") { bool ->
// Do stuff
}
}
fun example2() {
var t1 = Testing()
t1.test(1, "String", { bool ->
// Do stuff
})
}
Я полагаю, вы хотитевызовите ваш обратный вызов в методе test
в классе Testing
.В этом случае вам нужно предоставить аргумент функции, чтобы вызвать лямбду с аргументом arg.может сделать это так:
class Testing() {
var var1 = 0
var str1 = ""
var b = false
fun test(var1: Int, str1: String, lambdaArg: Boolean, lambda1: (Boolean)->Unit){
this.var1 = var1
this.str1 = str1
// Invoke the callback
lambda1(lambdaArg)
}
}
Или, если аргумент, передаваемый в лямбду, является функцией того, что происходит в вашей функции test
, тогда вы можете опустить предоставление лямбда-аргумента test
а вместо этого жесткий код ваш аргумент в вызове лямбды следующим образом:
class Testing() {
var var1 = 0
var str1 = ""
var b = false
fun test(var1: Int, str1: String, lambda1: (Boolean)->Unit){
this.var1 = var1
this.str1 = str1
if (this.var1 == 0) {
lambda1(false)
} else {
lambda1(true)
}
}
}