(foo == null) ... else null
что-то вроде:
fun <T> Any?.ifNull(body: () -> T): T? = if (this == null) body() else null
takeIf
foo ?: …
мм, тип результата будет странный. Разве что foo?.let { null} ?: .... но выглядит коряво
это да: ...takeIf { foo == null}, наверное самое компактное, жаль вычисление будет всегда
можно сделать свою функцию с рефлексией
Обсуждают сегодня