https://kotlinlang.org logo
#russian
Title
# russian
l

lewik

03/29/2018, 9:23 AM
Вот бы выражение на которое опирается when было доступно как it внутри "case"ов. Да, через let решается, но вот если бы встроенно было
Нужно больше сахара

http://zazozh.com/wp-content/uploads/2015/03/saharnaya-pudra.jpg

d

dsvoronin

03/29/2018, 9:34 AM
l

lewik

03/29/2018, 9:36 AM
Фух, первый коммент напугал...
g

gildor

03/29/2018, 10:18 AM
через it точно не получится, если только завезут присваивание внутри when
Да, через let решается
Имхо проще просто в локальную переменную сохранить, хотя бы читабельней
l

lewik

03/29/2018, 10:18 AM
Да, я прочитал.
g

gildor

03/29/2018, 10:19 AM
правда не получится локальную переменуню с функцией без body использовать
l

lewik

03/29/2018, 10:19 AM
Не. в локальную плохо.
g

gildor

03/29/2018, 10:19 AM
почему?
l

lewik

03/29/2018, 10:19 AM
Оно надо только внутри when
Уж лучше let
Как раз таки читабельней - можно глазами или мышкой выцепить кусок кода, переменные которого не лезут наружу и ты понимаешь что вот именно тут происходит опредеенная операция.
Не пихать же по любому поводу методы.
g

gildor

03/29/2018, 10:21 AM
ну зависит от кейса, я согласен, что локальная переменная доступна не только в where, но хотя бы вложенность меньше и читабельность лучше обычно
ну дело вкуса конечно
l

lewik

03/29/2018, 10:22 AM
ну... да, когда много вложенности - тухло. Но когда логика действительно сложная - оно спасает. С первого взгляда да, не читаемо, но оно дает вохможность разобрать это по частям а не весь метод "грузить в голову"
2 Views