
Алексей
09.10.2018
10:20:07
Я молчу о том, что вопрос в котлине - контрольный символ

Mikhail
09.10.2018
10:20:44

Quantum Harmonizer
09.10.2018
10:21:15

Andrey
09.10.2018
10:21:42

Google

Алексей
09.10.2018
10:21:49

Egor
09.10.2018
10:21:59

OlegKrikun
09.10.2018
10:22:12
тернарный более явный имха

Egor
09.10.2018
10:22:36
Явное лучше неявного, а в тернарном выражении ещё отыщи разделительные символы - вопрос, двоеточие, они же даже не подсвечиваются

OlegKrikun
09.10.2018
10:22:37
в ифе мусор визуальный

Денис
09.10.2018
10:22:39
демагогия какая-то
Писать get() у объекта, возвращающий случайное неконсистентное значение - тоже неоднозначное в общем случае решение.
А редкие специальные случаи, когда это приемлемо, можно считать исключениями, как мне кажется. :)

Mikhail
09.10.2018
10:22:57
о, нашел еще фигню, на которую изредка натыкаюсь, val list: List<Long>=ArrayList()

Quantum Harmonizer
09.10.2018
10:23:00

Денис
09.10.2018
10:23:16
в ифе мусор визуальный
А тернарник тяжело читается и сливается, даже если в ИДЕ есть подсветка, односимвольные операторы плохо выделяются визуально.

Quantum Harmonizer
09.10.2018
10:23:21

Andrey
09.10.2018
10:23:48

Egor
09.10.2018
10:23:55

Google

Mikhail
09.10.2018
10:24:08

Денис
09.10.2018
10:24:43

Quantum Harmonizer
09.10.2018
10:25:31

Mikhail
09.10.2018
10:25:33
я привык писать как пойдет, потом наживать форматирование и за меня ide расставляет пробелы, но нет, тут ошибка компиляции

Nameless
09.10.2018
10:25:54
недавно прекрасный ифчик нашел

Денис
09.10.2018
10:26:08

Mikhail
09.10.2018
10:26:34

Денис
09.10.2018
10:26:38
Типа да, можно найти способ неудачно написать выражение, при котором возникают какие-то несуразности
А даже если не с листом, у тебя ж тип разрезолвится из выражения справа?

Egor
09.10.2018
10:27:09

Mikhail
09.10.2018
10:27:13
ну может мне хочется его руками написать

Nameless
09.10.2018
10:27:27

Egor
09.10.2018
10:27:54

Денис
09.10.2018
10:28:02

Nameless
09.10.2018
10:28:05
а котлин во многом сокращает синтаксис джавы, только в тернарниках не сокращает (мне лично это не биг дил)

Mikhail
09.10.2018
10:28:36

Andrew
09.10.2018
10:28:41
А день начинался с заявлений, что кому-то не хочется читать полотна бессмысленного трёпа. Потом набросили о тернарнике — и понеслось.

Nameless
09.10.2018
10:29:03
ну это же чат, должен быть треп

Денис
09.10.2018
10:29:06

Google

Egor
09.10.2018
10:29:14

Nameless
09.10.2018
10:29:24
лучше так чем ответы на вопросы ленивых джунов

Andrew
09.10.2018
10:29:34
Давайте заведём отдельный чат "Тернарник в Kotlin" и будем туда направлять всех желающих пообсуждать, как обычно отправляют в @pofftop?

Nameless
09.10.2018
10:30:42


Alexander
09.10.2018
10:30:48
А можно ссылку на это заявления Бреслва. А то может рано плачем?
Видео пока не в публичном доступе, поэтому вот транскрипт для этого вопроса (Сессия блиц-вопросов Бреславу на TechTrain):
- Здравствуйте Андрей. If-else вот этот вот, двоеточие, вопросик, когда будут реализованы?
- А, окей, окей. Да, значит у нас... У нас в последнее время с коммьюнити и всеми другими людьми, которые вообще могут задавать вопросы, есть такая игра: вот предлагают задать вопросы и сразу же кто-нибудь спрашивает про тернарный оператор. Значит, я не могу пообещать точно, но наверное тернарный оператор всё-таки появится в какой-то момент в Котлине относительно скоро. Но не очень скоро, завтра не появится.
- Это из-за того, что вас просят, или вам самим хочется?
- Ну, мне не хочется, но просят-то не просто так. Действительно, удобно иметь тернарный оператор. Я вам верю, удобно. Его не так-то просто удобно впихнуть в язык, но вроде мы придумали как примерно, так что скорее всего всё получится.


Andrew
09.10.2018
10:30:59

Leonid
09.10.2018
10:31:01
Да спорить нужен тернарник или нет, всё равно что спорить, писать ли типы слева или справа

Andrew
09.10.2018
10:31:08
This ^

Denis
09.10.2018
10:31:33
Добрый день. Подскажите как правильно с помощью операторов коллекций Котлина реализовать след. задачу: есть 2 списка int. В первом 10 элеменов, во втром допустим 3. Нужно из первого списка убрать все элементы, которые есть во втором списке(если они есть). Я так понимаю нужно закомбинить .filter и .foreach, но чет у меня неправильно выходит походу. Вот код:
val list2 = idLongList.filter { oldId -> transactionState.unabledFines.forEach { oldId != it } }


Alexander
09.10.2018
10:31:35
Видео пока не в публичном доступе, поэтому вот транскрипт для этого вопроса (Сессия блиц-вопросов Бреславу на TechTrain):
- Здравствуйте Андрей. If-else вот этот вот, двоеточие, вопросик, когда будут реализованы?
- А, окей, окей. Да, значит у нас... У нас в последнее время с коммьюнити и всеми другими людьми, которые вообще могут задавать вопросы, есть такая игра: вот предлагают задать вопросы и сразу же кто-нибудь спрашивает про тернарный оператор. Значит, я не могу пообещать точно, но наверное тернарный оператор всё-таки появится в какой-то момент в Котлине относительно скоро. Но не очень скоро, завтра не появится.
- Это из-за того, что вас просят, или вам самим хочется?
- Ну, мне не хочется, но просят-то не просто так. Действительно, удобно иметь тернарный оператор. Я вам верю, удобно. Его не так-то просто удобно впихнуть в язык, но вроде мы придумали как примерно, так что скорее всего всё получится.
заль

Mikhail
09.10.2018
10:32:28

OlegKrikun
09.10.2018
10:32:32

Денис
09.10.2018
10:32:50
Ну спор "тернарник vs if-expression" действительно бесполезный, вот только первоначальная цепочка заявлений была "котлин состоит из костылей и подпорок к ним, что он построен на этом<...> например, там нет тернарного оператора"

Leonid
09.10.2018
10:33:28

Egor
09.10.2018
10:34:40
Вообще-то система типов (кроме некоторых случаев) в Котлине очень хорошо сделана. В среднем, да, мы пишем больше символов из-за val/var, но зато экономим ОЧЕНЬ много, когда типы выводятся автоматически

OlegKrikun
09.10.2018
10:35:06

Денис
09.10.2018
10:35:44
как дефолтное значение аргумента метода сойдет?
С одной стороны - ну да, с другой - что-то мне кажется, что довольно редко можно подобрать кейс, где можно нормально дать дженерик-аргументу метода дефолтное значение. Ну то есть они есть, конечно, эти случаи, но кажутся мне довольно специальными.

Quantum Harmonizer
09.10.2018
10:36:26

Andrey
09.10.2018
10:37:13

Google

Денис
09.10.2018
10:37:24

Vladimir
09.10.2018
10:37:47

Denis
09.10.2018
10:37:47

Andrew
09.10.2018
10:37:57

Quantum Harmonizer
09.10.2018
10:38:04

Andrey
09.10.2018
10:38:21

eshch
09.10.2018
10:39:01

Egor
09.10.2018
10:39:33

Admin
ERROR: S client not available

Quantum Harmonizer
09.10.2018
10:40:13

Egor
09.10.2018
10:41:41

Andrew
09.10.2018
10:42:24
я не говорил зачем мне пруфы давать. я обеснил почему мне кажется это было бы хорошим дополнением и какие пруфы нужны для моих аргументов мне неясно, т.к. количественные аргументы я не затрагиваю. кратко: тру избыточен, удобный дефолт, в принципе можно и функцию стандартной библиотеки.
"мне кажется" — это не аргумент. Уже несколько человек отметилось с мыслью, что это плохая идея. Предложили сходить в #stdlib и пообщаться там, получив более релеватные ответы, если текущий чат не устраивает. В худшем случае, если это кажется таким полезным, но сообщество не понимает, можно написать одну несчастную функцию forever(...) и использовать её, расстраиваясь, что язык хреновый. Что ты тут-то до сих пор делаешь, если видишь, что дискуссия в тупик давно зашла?

Quantum Harmonizer
09.10.2018
10:42:26

Andrey
09.10.2018
10:43:07

eshch
09.10.2018
10:43:31
не оч понел о чем ты

Egor
09.10.2018
10:44:15

Andrew
09.10.2018
10:45:12
Да, касательно присваивания-выражения согласен, чуть ли не единственная штука, которая огорчает. И то решается несчастным while(true) { val value = expr ?: break; ... }.

eshch
09.10.2018
10:46:42

Денис
09.10.2018
10:47:20

Google

eshch
09.10.2018
10:47:28

Andrew
09.10.2018
10:48:01

eshch
09.10.2018
10:48:09

Andrey
09.10.2018
10:48:20

Nameless
09.10.2018
10:48:35
бесконечно раз в 10 сек что-нибудь чекаем пока скоп не помер

Andrew
09.10.2018
10:49:09

Quantum Harmonizer
09.10.2018
10:49:19

Nameless
09.10.2018
10:49:20
что за isActive, си стайл какой-то, у нас же структурная канкаренси

Денис
09.10.2018
10:50:37

eshch
09.10.2018
10:50:38

Andrew
09.10.2018
10:51:07

Vladimir
09.10.2018
10:51:09

Quantum Harmonizer
09.10.2018
10:51:25
Да, уже раза три предложили.

Денис
09.10.2018
10:51:40

Quantum Harmonizer
09.10.2018
10:51:57

eshch
09.10.2018
10:52:15
Думаю, больше.
а вы не пробовали понять что я не про себя а про стдлиб?

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

Денис
09.10.2018
10:52:29

Vladimir
09.10.2018
10:52:35
А выглядеть он должен, как мне кажется, так:
fun loop(block: () -> Unit): Nothing