@kotlin_lang

Страница 935 из 982
Алексей
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
а вы не пробовали понять что я не про себя а про стдлиб?
В стдлиб не нужно так как решает довльно-таки частную задачу по сокращению объявления бесконечного чикла на 6 символов.

Andrew
09.10.2018
10:55:56
а как из этого loop break сделать?
return@loop, как и из forEach?

eshch
09.10.2018
10:56:13
Уже сказали, что кроме тебя никто настолько сильно это не хочет видеть в стдлибе. Хватит флудить.
а что если мне интересно почему? не очень понимаю стремление меня заткнуть, притом что тут и так поток сообщений немаленький

Nameless
09.10.2018
10:56:23
return@loop, как и из forEach?
это же будет continue? знатоки поправьте если не прав

Quantum Harmonizer
09.10.2018
10:56:55
а что если мне интересно почему? не очень понимаю стремление меня заткнуть, притом что тут и так поток сообщений немаленький
Почему не нужно? Потому что незачем. Потому что нет задачи писать как можно меньше символов.

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

Ох ёпт...

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

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
а как из этого loop break сделать?
А зачем, если это бесконечный цикл? Либо использовать while (true), либо return

Руслан
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 или из блока (и цикл продолжится)?

Алексей
09.10.2018
11:05:08
Из forEach
Спасибо

Руслан
09.10.2018
11:06:07
кстати, а return@forEach вернет из forEach или из блока (и цикл продолжится)?
Можно пойти и проверить, в IDE, ну если IDE нет то хоть в браузере: https://pl.kotl.in/B1ito-c57

> It’s expected by users coming from other languages ну такооооооооое
У каждого аргумента есть свой вес, аргумент с маленьким весом все равно аргумент и нужно его учитывать. А сам вес может отличаться для разных разработчиков

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

Алексей
09.10.2018
11:11:05
Nameless
09.10.2018
11:14:02
Из forEach
нет, это будет аналог continue



а вот 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
Прерывать forEach это же ваще дичь, не?
вместо forEach подставь любой другой метод внутри которого цикл

тот самый loop

Alexey
09.10.2018
11:17:51
Ну да

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

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
Алсо, а в котлине все-таки где-то используется хвостовая рекурсия? В стдлибе я имею ввиду
В котлине хвостовая рекурсия кастрированная: 1. Требует явно прописать tailrec 2. Не работает для взаимных хвостовых вызовов. В том виде, в котором она есть, практически малополезна.

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

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 сообщений за час?

то что массивы не инвариантны?

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

Денис
09.10.2018
11:28:50
oh my god, 350 messages. what a holy war are bombed!
>what a holy war are bombed моя твои английское не понимающий

Egor
09.10.2018
11:29:08
то что массивы не инвариантны?
Тернарные операторы и while(true) { ... } как часть стдлиб

Alexandr
09.10.2018
11:29:16
Тернарные операторы и while(true) { ... } как часть стдлиб
while(true) второй раунд? первый в эти 350 не вошел

был раньше

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

Страница 935 из 982