
Денис
17.08.2018
08:56:05
Добрый день. Опытные котлиновцы, подскажите как можно изменить этот код.
Есть список ошибок, который прилетает с сервера. Порядок их обработчки важен. То есть если в списке ошибок может быть ошибка с кодом 1, то ее приоритетнее обработать, чем 2.
Но прилетает список с сервера неупорядрченным.
Нужно обработать первую более приоритетную ошибку и выйти из forEach.
Не сооброжу как это реализовать.
Помогите, пожалуйста.
errors.forEach {
when (it.code) {
1 -> { // здесь что-то делаю и нужно выйти из цикла forEach }
2 -> { // здесь что-то делаю и нужно выйти из цикла forEach }
3 -> { // здесь что-то делаю и нужно выйти из цикла forEach }
}
}

Denis
17.08.2018
08:58:45
А обычный for с break чем Не устраивает?

Dmytro
17.08.2018
08:58:46

Nikita
17.08.2018
08:59:37
Отсортировать?

Google

Denis
17.08.2018
08:59:50
Ну и список надо отсортировать для начала

Dmytro
17.08.2018
08:59:53
да, и отсортировать )

Денис
17.08.2018
09:00:27

Denis
17.08.2018
09:00:28
Тогда и цикл не нужен, если только первый элемент обработать надо

Dmytro
17.08.2018
09:01:21
errors.minBy{it.code} ...

Денис
17.08.2018
09:02:00
а могу ли я return@forEach использовать?
или что-то подобное break
?

Михаил
17.08.2018
09:03:48
https://kotlinlang.org/docs/reference/returns.html

Dmytro
17.08.2018
09:03:53

Денис
17.08.2018
09:07:32
errors.minBy{it.code} ...
приоритет кодов никак не связан с увеличением числа. то есть более приоритеным для обработки может быть 1004, потом 1003, потом 900
поэтому и цикл запускаю. хотел как в старой доброй java запустить switch case с break в кажой ветке

Viach
17.08.2018
10:14:11
захордкодить мапу с весами кодов ошибок, написать компаратор с ее использование, отсортировать с использованием этого компоратора и запустить обработку уже просто в forEach или стриме

Google

Roma
17.08.2018
20:06:15
Ребятушки, кто не спит и кто разобрался со связкой Room + LiveData + Coroutines?
Проблема с запросом
@Query("SELECT * from coins")
fun getAllCoins(): Deferred<List<Coins>> // todo бага с типами

Quantum Harmonizer
17.08.2018
20:28:03

Roma
17.08.2018
20:28:33
Я завтра на работе буду, скину логи

Dmitry
20.08.2018
07:34:19
пора вводить уже дискриминацию по дате создания аккаунта

whalemare
20.08.2018
07:34:53
Ага) причем что интересно, боты атакуют только этот чат, в других по схожей тематике такого не замечал

NewAge
20.08.2018
07:43:56
@Harmonizr спасибо

Челодой
20.08.2018
07:45:55

Dmitry
20.08.2018
07:45:59

whalemare
20.08.2018
07:46:53
Засветился где то чатик скорее всего

Челодой
20.08.2018
07:47:12

Grushin
20.08.2018
08:54:36
Опана
На последней секунде
Е

Oleg
20.08.2018
09:35:50
Кто знает нормального антиспам бота? Давайте поставим :)

Челодой
20.08.2018
09:46:13

Artem
20.08.2018
09:46:46
Через 5 минут
Открыли доступ к нашему вип-антиспам боту на 20 минут. Перейти

lenar
20.08.2018
09:57:23

whalemare
20.08.2018
09:58:26

lenar
20.08.2018
09:59:10
у тебя плохая выборка ?

Google

whalemare
20.08.2018
09:59:49

Челодой
20.08.2018
10:16:34
видимо не часто бываете в чате startandroid rx

whalemare
20.08.2018
10:17:16

daysandbox_bot
20.08.2018
13:53:22
Removed msg from Solovev Nikolay. Reason: new user + external link

Quantum Harmonizer
20.08.2018
13:54:13

Oleg
20.08.2018
13:55:06

Quantum Harmonizer
20.08.2018
13:55:38

Oleg
20.08.2018
13:57:45

Quantum Harmonizer
20.08.2018
13:58:11