функцию, то чем не подходит такой вариант?
inline fun <T1, T2, R> unwrap(t1: T1?, t2: T2?, action: (T1, T2) -> R): R? {
if (t1 != null && t2 != null) {
return action(t1, t2)
}
return null
}
inline infix fun Any?.otherwise(crossinline action: () -> Unit) {
if (this == null) action()
}
я могу только догадываться зачем. предполагаю, что для того, чтобы не создавать лишний апи для всех типов. т.е. сделать это "ключевое слово"/метод применимым только в нужном контексте аля else
Обсуждают сегодня