Size: a a a

Kotlin Community

2020 August 24

IO

Iaroslav Orlov in Kotlin Community
😭
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Это ж, строго говоря, не гарантия, что он не был неправильным)
Ну ошибку фронтенда все равно давать не должно. Такие ошибки кстати в идее все время сыпятся.
источник

AN

Alexander Nozik in Kotlin Community
а у тебя IR?
источник

IO

Iaroslav Orlov in Kotlin Community
я не включал
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
Ну ошибку фронтенда все равно давать не должно. Такие ошибки кстати в идее все время сыпятся.
И то верно)
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
я не включал
Он по дефолту вроде. Попробуй переключить на LEGACY. Может поможет. Если да, то точно багу надо писать
источник

AN

Anna Naumova in Kotlin Community
Всем привет. Подскажите, пожалуйста, как на Котлине написать аналог Java if с несколькими проверяемыми условиями?
Знаю вариант с let, но не понимаю, как сделать множественную проверку.
То есть, нужен аналог вроде if (a > 5 && b > 0). Вот это "И" - как оно определяется в Котлине, укажите, будьте добры.
источник

AN

Anna Naumova in Kotlin Community
(проверка идет на NPE)
источник

AN

Alexander Nozik in Kotlin Community
Anna Naumova
Всем привет. Подскажите, пожалуйста, как на Котлине написать аналог Java if с несколькими проверяемыми условиями?
Знаю вариант с let, но не понимаю, как сделать множественную проверку.
То есть, нужен аналог вроде if (a > 5 && b > 0). Вот это "И" - как оно определяется в Котлине, укажите, будьте добры.
Не дочитал. Точно также как и в Java
источник

IO

Iaroslav Orlov in Kotlin Community
Anna Naumova
Всем привет. Подскажите, пожалуйста, как на Котлине написать аналог Java if с несколькими проверяемыми условиями?
Знаю вариант с let, но не понимаю, как сделать множественную проверку.
То есть, нужен аналог вроде if (a > 5 && b > 0). Вот это "И" - как оно определяется в Котлине, укажите, будьте добры.
в котлине работают все си-подобные булевы операторы, кроме побитовых
источник

AN

Anna Naumova in Kotlin Community
Понимаю, но меня на работе попросили заменить все стандартные (в смысле, для меня это джавовские) if-ы на выражения с let. Те if, где было одно условие, заменила, а как заменить множественные - не понимаю (и можно ли вообще это сделать с let) :)
источник

IO

Iaroslav Orlov in Kotlin Community
Anna Naumova
Понимаю, но меня на работе попросили заменить все стандартные (в смысле, для меня это джавовские) if-ы на выражения с let. Те if, где было одно условие, заменила, а как заменить множественные - не понимаю (и можно ли вообще это сделать с let) :)
а, а покажите конкретный кейс, где нужно заменить &&
источник

AN

Alexander Nozik in Kotlin Community
Anna Naumova
Понимаю, но меня на работе попросили заменить все стандартные (в смысле, для меня это джавовские) if-ы на выражения с let. Те if, где было одно условие, заменила, а как заменить множественные - не понимаю (и можно ли вообще это сделать с let) :)
Если они действительно попросили именно это, то надо с этой работы увольняться
источник

IO

Iaroslav Orlov in Kotlin Community
Anna Naumova
Понимаю, но меня на работе попросили заменить все стандартные (в смысле, для меня это джавовские) if-ы на выражения с let. Те if, где было одно условие, заменила, а как заменить множественные - не понимаю (и можно ли вообще это сделать с let) :)
скорее всего, можно заменить на вложенный let: if (a != null && b != null) -> a?.let { b?.let {
источник

AN

Anna Naumova in Kotlin Community
Iaroslav Orlov
скорее всего, можно заменить на вложенный let: if (a != null && b != null) -> a?.let { b?.let {
Спасибо огромное, попробую :)
источник

IO

Iaroslav Orlov in Kotlin Community
Alexander Nozik
Если они действительно попросили именно это, то надо с этой работы увольняться
ну и это тоже
источник

AN

Alexander Nozik in Kotlin Community
Есть такая штука, называется let-abuse (я термин только что выдумал, но явление старое). Заключается в том, что весь контроль управления меняют на однострочники. Не надо так делать
источник

AN

Alexander Nozik in Kotlin Community
Anna Naumova
Спасибо огромное, попробую :)
Так можно написать, но это очень-очень плохой код. Не делайте так.
источник

IO

Iaroslav Orlov in Kotlin Community
Alexander Nozik
Есть такая штука, называется let-abuse (я термин только что выдумал, но явление старое). Заключается в том, что весь контроль управления меняют на однострочники. Не надо так делать
less lines over readability
источник

AM

Andrew Mikhaylov in Kotlin Community
Iaroslav Orlov
less lines over readability
Ладно бы less lines, так на деле же
a?.let { it1 ->
       b?.let { it2 ->
           // ...
   }
}

против
if(a != null && b != null) {
   // ...
}
источник