Отличная оговорка и отличная иллюстрация комментария @ mhswtf. Я смотрю на твой пример и думаю, что в любом случае я хочу получить скорейшее возвращение. Но ваша точка зрения очень хорошо принята, что вы должны учитывать возвращаемое значение лямбда, которое вы передаете, чтобы позволить.
ел следующий комментарий в S.O. пост, и я заинтригован
почему вы не используете if для нулевых проверок?a?.let{} ?: run{}
уместно только в редких случаях, иначе это не идиоматично - Воддан 15 мая '16 в 7:29лучший способ обнулить проверку в kotlin?
Почему эта конструкция «подходит только в редких случаях»?
Ведущий инженер Kotlin говорит,
run позволяет использовать несколько операторов справа от оператора elvishttps://stackoverflow.com/a/51241983/6656019
хотя я признаю, что на самом деле не одобряю это как идиоматическое. Оба этих поста, похоже, принадлежат очень уважаемому С.О. Авторы Kotlin.
Пост, который вдохновил оригинальный комментарий, упоминает, чтоlet
часть выражения важна, еслиa
изменчиво В этом случае вам понадобитсяa?.let{} ?: run{}
вместоif{} else {}
.
Я считаю, что мне нравится конструкция "Пусть Элвис побежит". Должен ли я избежать этого в большинстве случаев?
Спасибо за понимание.