@jvmchat

Страница 2659 из 2890
Oleksandr
19.07.2018
08:46:57
тогда второе не имеет смысла

Quantum Harmonizer
19.07.2018
08:47:25
не, примитивом он не может быть

Отличается тем, как на него смотрит type-checker. Всё.

ну а ByteArray/IntArray/LongArray/etc — отдельные типы, как и в Java

Google
Oleksandr
19.07.2018
08:48:10
Quantum Harmonizer
19.07.2018
08:48:21
стоп-стоп, почему?
потому что система типов JVM

Oleksandr
19.07.2018
08:48:29
а, вам ещё не завезли anyval

кроме сахарных статиков

Quantum Harmonizer
19.07.2018
08:49:49
ну ок, в чем разница с <Optional<Foo» ?
В том, что Optional<Foo> — это дополнительный объект. Особенно весело будет, если там вместо опшнала будет null

Quantum Harmonizer
19.07.2018
08:50:44
а в Array<Foo> не может быть null?
нет, если не подложить его из Java :)

Alexandr
19.07.2018
08:50:55
Optional еще тот костыль, ладно хоть удобный если соблюдается контракт что null не вернется

Quantum Harmonizer
19.07.2018
08:51:00
тайпчекер не позволит тебе присвоить туда null

Oleksandr
19.07.2018
08:51:08
Quantum Harmonizer
19.07.2018
08:51:19
Optional еще тот костыль, ладно хоть удобный если соблюдается контракт что null не вернется
Optional классный, но только если выжечь калёным железом null из языка

Google
Oleksandr
19.07.2018
08:51:32
забудьте про null

точка

никогда не выставляйте его наружу

Alexandr
19.07.2018
08:51:46
Quantum Harmonizer
19.07.2018
08:51:59
Alexandr
19.07.2018
08:52:12
никогда не выставляйте его наружу
я про это и говорю, нужен контракт

Oleksandr
19.07.2018
08:52:40
с чего бы daemond оператор зло?
я говорю, что эт (если мы про ?) костыль а костыль, по определению, решает сабсет задач оригинала сабсет, потому что работает исключительно с "налл / не налл"

Денис
19.07.2018
08:52:48
с чего бы daemond оператор зло?
Я, конечно, ни на что не намекаю, но в джаве есть только diamond operator

Alexandr
19.07.2018
08:52:49
что?
пардон, спать пора

я про "?"

Oleksandr
19.07.2018
08:52:57
а, лол

?

бзв ?: тоже костыль

Alexandr
19.07.2018
08:53:36
ага

Денис
19.07.2018
08:53:39
бзв ?: тоже костыль
Это ты к чему?

Oleksandr
19.07.2018
08:53:41
по той же причине, если бы иф возвращал значение, не было бы нужды в доп операторе

Это ты к чему?
сравни x = if (a > 2) 42 else 666 ... x = (a > 2) ? 42 : 666

первый способ (который everything is an expression) является более общим, потому и лучшим

Quantum Harmonizer
19.07.2018
08:54:54
тем не менее, вокруг котлина и тернарника существует жуткий срач :)

Денис
19.07.2018
08:55:06
бзв ?: тоже костыль
Так ты нарисовал элвис-оператор, а рассуждаешь о тернарном. Они не одно и то же всё-таки

Google
Oleksandr
19.07.2018
08:55:25
тем не менее, вокруг котлина и тернарника существует жуткий срач :)
эм, у вас же есть первый способ, хотите тернарник, или что?

Quantum Harmonizer
19.07.2018
08:55:48
эм, у вас же есть первый способ, хотите тернарник, или что?
лично я хочу чтобы тернарник НИКОГДА НЕ ПОЯВЛЯЛСЯ В ЯЗЫКЕ

Quantum Harmonizer
19.07.2018
08:56:27
вообще, продолжая движение в сторону обобщения, можно выпилить if в пользу when

Sergey
19.07.2018
08:56:46
Quantum Harmonizer
19.07.2018
08:57:20
А чем он так сильно бесит?
он не бесит, просто не нужен, когда есть более читаемый способ сделать то же самое

Oleksandr
19.07.2018
08:58:01
вообще, продолжая движение в сторону обобщения, можно выпилить if в пользу when
а в эрланге так и хотели сделать, афаик мол, есть патмат (который when++), зачем вам ифы?

1337
19.07.2018
09:00:01
тернарник не нужен

в котлине

надо чтобы иф аозвращал значение

(так и есть в котлине(

Quantum Harmonizer
19.07.2018
09:01:48
да мы вроде именно это и обсуждаем)

1337
19.07.2018
09:02:53
сравни x = if (a > 2) 42 else 666 ... x = (a > 2) ? 42 : 666
второй вариант хуже первого

Павел
19.07.2018
09:31:44
Народ подскажите пожалуйста плагин хороший для генерации java из xsd в gradle?

Берял
19.07.2018
09:35:39
второй вариант хуже первого
вот зачем ты читаешь с середины?

1337
19.07.2018
09:36:21
так в посте было написано "сравнить"

вот я и сравнил

guga
19.07.2018
09:37:20
может ещё и скажешь почему?

1337
19.07.2018
09:38:21
эстетически

Google
1337
19.07.2018
09:38:50
все эти черточки и палочки мешают

guga
19.07.2018
09:39:31
например, меня бесит что в джаве как такового нету void значение true ? voidMethod() : anotherVoidMethod() не компилится

?‍♂️

Ivan
19.07.2018
09:42:43
а как может быть значение для ничего????

guga
19.07.2018
09:43:17
а как может быть значение для ничего????
в скале это Unit, не поверишь но в джаве есть Void

Admin
ERROR: S client not available

Ivan
19.07.2018
09:43:18
метод вызван, проходит выполнение метода, в следствии чего что то изменяется, но ничего не возвращается

Quantum Harmonizer
19.07.2018
09:43:25
а как может быть значение для ничего????
никакое, но значение. Типа return someVoidMethod()

Ivan
19.07.2018
09:43:52
2 мысли

Mikhail
19.07.2018
09:44:02
а почему должно возвращатсья обязательно

Ivan
19.07.2018
09:44:03
1 ну так напишим себе ретерн

2 А зачем дефолтное значение, что ты тогда будешь проверять?? Ведь в тернарном операторе проверка на что то

то есть у тебя будет проверка на дефолтное значение что ле?

Mikhail
19.07.2018
09:45:39
в тернантном выражении стоит услови и бинарное ветвление

Ivan
19.07.2018
09:46:07
и? далее?

Mikhail
19.07.2018
09:46:08
просто писать if не всегда удобно

так корчое будет

Kool
19.07.2018
09:46:17
Я

Google
Ivan
19.07.2018
09:46:33
так ты иф для воидового метода тоде не напишешь

Mikhail
19.07.2018
09:46:42
а компилятор требует возврата

а нам не нужен возврат

в нем и соль вся

Ivan
19.07.2018
09:46:57
ну так логично

на чт провертяь будешь воидовый метод

что в ифе что в тернарном операторе

Quantum Harmonizer
19.07.2018
09:47:53
воидовый метод не в условии, ни на что его проверять не надо

Mikhail
19.07.2018
09:49:29
настроение == хорошее ? солнышко : дождь

вот пример

зачем солнышку что то возвращать

пусть светит себе

или дождь пусть льет себе

Ivan
19.07.2018
09:49:48
а это

не внимательно посмотрел

Mikhail
19.07.2018
09:50:06
дя

Страница 2659 из 2890