Я действительно не уверен, как назвать название, поэтому я собираюсь объяснить его как можно лучше:
val a = b ?: ({
val temp = c.evaluate()
store(temp)
temp // returns temp to the lambda, which will set `a` to `temp` if `b` is null
})()
1 : что работает,то, что я сейчас использую
Это прекрасно работает, но в идеале я хочу просто использовать блок кода и не передавать лямбда-функцию в функцию (({})
), а затем оценивать ее.В моем воображении это выглядело бы примерно так:
val a = b ?: {
val temp = c.evaluate()
store(temp)
temp // returns temp to the lambda, which will set `a` to `temp` if `b` is null
}
2 : что бы я хотел иметь
Вышесказанное делает не работа.Я на самом деле просто ищу лучший способ написать 1 .