@jvmchat

Страница 2393 из 2890
Alexander
12.04.2018
15:14:55
поэтому получилось логично

Oleksandr
12.04.2018
15:14:56
Alexander
12.04.2018
15:15:12
тем что в 99% случаев любое говно может вернуть null

Google
Yan
12.04.2018
15:15:14
источник не изменяется

Igor
12.04.2018
15:15:15
Так-с, пойдем издалека. Есть функтоp. У него опpеделен map, так? Есть монада, у нее опpеделен flatMap. Объясните пожалуйста, почему в pеализации map должен использоваться flatMap?

Sergey Demidov
12.04.2018
15:15:43
источник не изменяется
Им не докажешь))

Igor
12.04.2018
15:15:59
все, ты упомянул слово "монада", теперь тебя заклюют прагматики
Долго деpжался, но нужно же указать, откуда ноги pастут?)

Oleksandr
12.04.2018
15:16:19
Долго деpжался, но нужно же указать, откуда ноги pастут?)
я там выше кинул 2 закона функторов, но как-то проигнорили(

источник не изменяется
так стоп, блин, Optional("a").map(q -> null) что выдает? None?

Sergey Demidov
12.04.2018
15:17:09
Igor
12.04.2018
15:17:16
Ну то есть в java да, а в адекватном миpе – не должен

Yan
12.04.2018
15:17:32
Им не докажешь))
специально написал тест)

Sergey Demidov
12.04.2018
15:17:37
Optional("a") не изменяется

Oleksandr
12.04.2018
15:17:44
Ну то есть в java да, а в адекватном миpе – не должен
вовремя добавил, а то я уже совсем запутался

Google
Igor
12.04.2018
15:18:00
Oleksandr
12.04.2018
15:18:08
хотя у джавы железобетонный способ борьбы с багами и плохим дизайном — написать в доке, что это так надо, и все

Victor
12.04.2018
15:18:58
так стоп, блин, Optional("a").map(q -> null) что выдает? None?
jshell> Optional.of(1).map(s -> null) $1 ==> Optional.empty

Sergey Demidov
12.04.2018
15:19:02
В стримах map работает так же

Oleksandr
12.04.2018
15:19:15
Igor
12.04.2018
15:19:21
jshell> Optional.of(1).map(s -> null) $1 ==> Optional.empty
Мы говоpим о том, должно ли так быть, или нет

Igor
12.04.2018
15:19:58
То, что java Optional никто не испольует и так понятно. Вопpос пpавильно ли он сделан, или хуйня из под ногтей.

Sergey Demidov
12.04.2018
15:20:11
jshell> Optional.of(1).map(s -> null) $1 ==> Optional.empty
Тогда string.trim() тоже что ли строку изменяет?))

Igor
12.04.2018
15:20:41
Тогда string.trim() тоже что ли строку изменяет?))
Со стpоками в java вообще все сложно, здесь лучше эту тему не тpогать :)

Oleksandr
12.04.2018
15:20:44
Тогда string.trim() тоже что ли строку изменяет?))
эм, понятно, что там иммутабл, не в этом дело финальный результат неправильный

Alexander
12.04.2018
15:20:45
:sticker_java_govno:
Я упустил момент, что нужно чтобы возвращалось, следуя твоим убеждениям?

Sergey Demidov
12.04.2018
15:21:40
OPtional.empty - это и есть Optional.of(null)

Митко Соловец?
12.04.2018
15:21:49
да

почему налл то

Oleksandr
12.04.2018
15:22:03
схоронил

Митко Соловец?
12.04.2018
15:22:39
Optional.ofNullable(null) == Optional.empty()

Евгений
12.04.2018
15:23:08
Optional.ofNullable(null).equals(Optional.empty())

Google
Евгений
12.04.2018
15:23:11
true

Sergey Demidov
12.04.2018
15:23:58
Мне кажется это просто посоны из джетбрейнса, у которых джава вся не правильная а котлин божественнен

И им ничего не докажешь)

Митко Соловец?
12.04.2018
15:24:10
O(s) -> O(null)

map

Oleksandr
12.04.2018
15:24:23
о, теперь я, оказывается, агитирую за котлин

Victor
12.04.2018
15:24:23
true
А почему нет-то?

Митко Соловец?
12.04.2018
15:24:49
так почему налл должен вернуться

я не понял

Oleksandr
12.04.2018
15:25:09
так почему налл должен вернуться
потому что мап _обязан_ не менять Some на None

Митко Соловец?
12.04.2018
15:25:18
он не меняет

Igor
12.04.2018
15:25:19
о, теперь я, оказывается, агитирую за котлин
А я вот с pадостью поагитиpую (за Scala :D). Там Option и из коpобки pаботает адекватно.

Oleksandr
12.04.2018
15:25:23
то есть будет Some(null).orElse(666)

что выдаст null

guga
12.04.2018
15:25:36
так почему налл должен вернуться
потому что тип контейнера не должен меняться

шлюхогон42
12.04.2018
15:25:46
Дорогие подписчики. Прочитайте это внимательно, это важно, черт возьми. Вероятно, что уже сегодня Telegram может быть заблокирован в России. Наша миссия заключается в сохранении работоспособности мессенджера на территории РФ. Наша команда @VeeSecurity разработала бесплатный сервис Connecto Proxy для Telegram. С ним никакие ограничения Роскомнадзора не страшны. Пожалуйста, распространите эти ссылки максимально широко: http://opentg.us http://fuckrkn.us http://telegram.veesecurity.com Также можно распространить ссылки мгновенной настройки, тогда вся процедура займёт ровно один клик: http://12345.opentg.us http://12345.fuckrkn.us

guga
12.04.2018
15:25:47
просто в джаве null — подтип любого типа

Google
Митко Соловец?
12.04.2018
15:26:01
да

Митко Соловец?
12.04.2018
15:26:09
не удаляй

Oleksandr
12.04.2018
15:26:09
Митко Соловец?
12.04.2018
15:26:23
так он не меняет

Sergey Demidov
12.04.2018
15:26:28
Тип не меняется - как был Optional, так и вернулся Optional

Митко Соловец?
12.04.2018
15:26:35
просто Some(null) дает empty()

Alexander
12.04.2018
15:26:51
что выдаст null
Сейчас это выдаст 666.

Митко Соловец?
12.04.2018
15:26:52
а вызов orElse на нем всегда вернет то, что передали в аргументы

Oleksandr
12.04.2018
15:26:55
просто Some(null) дает empty()
ну, и это пресловутый говнодизайн

guga
12.04.2018
15:27:01
это тут причем вообще?
ну к тому, что у map(s -> “s”) должно быть такое же поведение как и для map(s -> null)

Митко Соловец?
12.04.2018
15:27:05
разобрались

guga
12.04.2018
15:27:20
да

Oleksandr
12.04.2018
15:27:32
крч ладно, я работать

к огромному счастью, не на джаве

Митко Соловец?
12.04.2018
15:28:20
на котлине?

Oleksandr
12.04.2018
15:28:22
ну, и это пресловутый говнодизайн
добавлю еще, что у джавы действие мап и проверка на налл зачем-то вшиты в одно действие (в вышеописанном примере, Optional.of)

Митко Соловец?
12.04.2018
15:28:51
если котлин - это плагин для джавы, то что есть плагин для скалы?

Sergey Demidov
12.04.2018
15:29:15
Google
Alexander
12.04.2018
15:30:26
Сложура плагин для лиспа

Superman
12.04.2018
15:32:35
Всем привет! Есть Spring Data Mongo нужно адейтнуть или сохранить сущность, но что бы при этом понимать что произошло апдейт или создание, как я могу это сделать, кроме варианта проверить до save был ли объект в бд?

Oleksandr
12.04.2018
15:32:48
вы мне лучше подскажите, как в aws batch натравить использование на нужный мне ec2 инстанс, а то эта штука почему-то создает новый инстанс постоянно

Alexander
12.04.2018
15:42:42
Тогда вопрос - как сделать Optional лучше с учётом того, что систему типов просто так никто не починит? Я понимаю идейно, что сейчас map это в какой-то мере flatMap, но какие сейчас предложения по улучшению я не понял до конца.

Oleksandr
12.04.2018
15:44:18
Alexander
12.04.2018
15:44:32
Окей, круто, хорошее решение для пользователя. Теперь представим, что ты разрабатываешь джаву, а не Котлин. Как сделать лучше?

Берял
12.04.2018
15:44:32
эм, но опшнл и правда неправильный.
с другой стороны, у опшнла не написано, что это функтор/монада/etc, для него не выполняются и не должны выполняться законы, а в доке прямо сказано, что A container object which may or may not contain a non-null value.

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