
Алексей
09.10.2018
10:52:43

Quantum Harmonizer
09.10.2018
10:53:11

Nameless
09.10.2018
10:55:04
вот вот

Google

Nameless
09.10.2018
10:55:28
да и continue будет некрасивый

Andrey
09.10.2018
10:55:50

Andrew
09.10.2018
10:55:56

eshch
09.10.2018
10:56:13

Nameless
09.10.2018
10:56:23

Andrey
09.10.2018
10:56:39

Quantum Harmonizer
09.10.2018
10:56:55

eshch
09.10.2018
10:56:57

Andrew
09.10.2018
10:56:58
Окей, я пошёл за кофе.
Ох ёпт...

Alexander
09.10.2018
10:58:10
Напишите мне пожалуйста, когда обсуждение тернарного оператора кончится. Сил нет читать

Andrey
09.10.2018
10:58:11

Quantum Harmonizer
09.10.2018
10:59:30
пинганите, когда за loop перестанут тереть :)

Google

Руслан
09.10.2018
11:00:11
Я честно говоря устал от этого, ну вот парень задает странные вопросы, иногда тупо создает флейм на пустом месте, вроде вчера вечером это все выяснили, ну не ведитесь вы на это пожалуйста. Дал один день read-only

Vladimir
09.10.2018
11:00:21

Руслан
09.10.2018
11:01:14
Вот кстати жирная точка про тернарник, все написано, зачем это по 10 раз обсуждать: https://discuss.kotlinlang.org/t/ternary-operator/2116/171

Алексей
09.10.2018
11:04:07
кстати, а return@forEach вернет из forEach или из блока (и цикл продолжится)?

Bogdan
09.10.2018
11:04:55

Алексей
09.10.2018
11:05:08

Igor
09.10.2018
11:05:39

Руслан
09.10.2018
11:06:07

Алексей
09.10.2018
11:08:01
:)

Quantum Harmonizer
09.10.2018
11:10:11
а вот если бы ты вернул из outer функции...

Алексей
09.10.2018
11:11:05

Nameless
09.10.2018
11:14:02
а вот break в общем случае уже никак не сделать, как и в случае многострадального loop

Egor
09.10.2018
11:15:21
пхх

Andrew
09.10.2018
11:15:46
Ну вот и просите расширение поведения для break и continue, это уже было бы гораздо интереснее :)

Egor
09.10.2018
11:15:50
run {
listOf.forEach {
return@run
}
}

Google

Nameless
09.10.2018
11:16:02

Vladimir
09.10.2018
11:16:13

Nameless
09.10.2018
11:16:53
eshch c нами уже нет, но дело его живет!

Alexey
09.10.2018
11:17:01
Прерывать forEach это же ваще дичь, не?
пишишь ты такой сделай то то, для каждого элемента в списки, а тут херакс и выход по середине

Nameless
09.10.2018
11:17:33
тот самый loop

Alexey
09.10.2018
11:17:51
Ну да

Egor
09.10.2018
11:17:55

Alexey
09.10.2018
11:18:07
Для этого бог придумал хвостовую рекурсию

Руслан
09.10.2018
11:18:28
Как-то так пишу код, что обхожусь без этих return@smth

Egor
09.10.2018
11:18:31
Что за вопрос?

Alexey
09.10.2018
11:18:40
Читаешь ты себе код через строчку и тут такое

Andrew
09.10.2018
11:18:42
.forEach — это метод на коллекциях / сиквенсах / etc, перед ним обычно можно сделать .filter
Потому и не хочется break, очевидно.

Alexey
09.10.2018
11:19:13
Потому что это всё прерывания, которые ломают флоу логики

Egor
09.10.2018
11:19:13
Нет, есессна выход из forEach это оверинж, но все же не такой, как глобальное состояние и прочее неявное/нечитаемое говно

Nameless
09.10.2018
11:19:24
знаете как это решается в foundation (типо стдлиб) objc? там тебе передается указатель на булеан переменую в тело цикла, и если хочешь остановиться ты туда записываешь что пора остановится

Google

Alexey
09.10.2018
11:19:34

Andrew
09.10.2018
11:19:41

Egor
09.10.2018
11:20:26
Алсо, а в котлине все-таки где-то используется хвостовая рекурсия? В стдлибе я имею ввиду

Alexey
09.10.2018
11:21:17

Nameless
09.10.2018
11:21:28
не стоит к forEach привызываться, да и то можно придумать задачу
например, есть список людей с зп, у нас есть бюджет, и идем по этому списку выдаем зп, пока у нас есть бюджет

Bogdan
09.10.2018
11:21:33
Странно, А как тогда выйти из форича?

Admin
ERROR: S client not available

Nameless
09.10.2018
11:21:56

Alexey
09.10.2018
11:21:58

Nameless
09.10.2018
11:22:14
System.exit(0)

Andrey
09.10.2018
11:22:23

Денис
09.10.2018
11:22:27
Да не, примерно тот же уровень
Нет, это проблема неудачно написанного локального участка кода, которая решается (по идее) его рефакторингом.
А глобальное состояние и прочие прелести должны решаться на уровне всего приложения, и, вероятно, архитектурными изменениями.

Egor
09.10.2018
11:22:28
Тот же reduce

Nameless
09.10.2018
11:23:09

Egor
09.10.2018
11:23:19

Nameless
09.10.2018
11:23:24
нет - не нужен?

Egor
09.10.2018
11:23:47
А это можно трактовать как-то по-другому?
Нет - не нужен

Nameless
09.10.2018
11:23:51
https://developer.apple.com/documentation/foundation/nsarray/1415846-enumerateobjectsusingblock

Google

Nameless
09.10.2018
11:24:00
вот у эппла break нужен

Egor
09.10.2018
11:24:23
Ну, в русском минус на минус не всегда дает плюс

Nameless
09.10.2018
11:24:25
ну и много кому break нужен

Egor
09.10.2018
11:26:32
Ну ладно, не будем говорить про Обж-С, я тоже не против
ну и много кому break нужен
Если начинаем итерировать в функциональном стиле, то резко нужность падает обычно. Вон, в эликсире вообще нету слова return и флоу никак не контролируется, но никто не жалуется

Alexandr
09.10.2018
11:28:05
oh my god, 350 messages. what a holy war are bombed!
что можно было обсуждать в 350 сообщений за час?
то что массивы не инвариантны?

Alexey
09.10.2018
11:28:46

Alexandr
09.10.2018
11:28:46
жесть

Денис
09.10.2018
11:28:50

Egor
09.10.2018
11:29:08

Alexandr
09.10.2018
11:29:16
был раньше

Andrew
09.10.2018
11:30:03
Всё так.