@kotlin_lang

Страница 976 из 982
Unknown
24.10.2018
13:04:46
в Котлине нет функции которая к каждому объекту в листе применяет функцию и возвращает результат этой функции в листе?

Alexandr
24.10.2018
13:06:42
Alexander
24.10.2018
13:07:45
в Котлине нет функции которая к каждому объекту в листе применяет функцию и возвращает результат этой функции в листе?
Эм. Поэлементное применение без изменения порядка - map. Применение функции для получения чего-то другого - reduce или fold. Если что-то другое - опиши желаемое точнее, пожалуйста.

dimiii
24.10.2018
13:07:45
Google
Unknown
24.10.2018
13:09:37
Как она называется в других языках? https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/map.html
незнаю, я просто написал свою, подумал вдруг такая уже есть



dimiii
24.10.2018
13:11:04
незнаю, я просто написал свою, подумал вдруг такая уже есть
(not-bad-obama) - следующий шаг изобретение fmap. Но лучше использовать из stdlib

Andrey
24.10.2018
13:30:37
незнаю, я просто написал свою, подумал вдруг такая уже есть
Переизобретение к̶о̶л̶е̶с̶а̶ стандартной библиотеки для работы с коллекциями - дело хорошее для понимания принципов работы. Если же вам нужно работать с коллекциями, а не изобретать, то документация тут: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/index.html P.S. Ваш listFrom, не что иное, как map из стандартной библиотеки, только map объявлен для Iterable

Vadim
24.10.2018
13:35:42
всем привет. Подскажите, плиз, как можно написать компактнее следуйщий код:

if (context != null) { context?.let { if (it.deviceName != ORION_S.deviceName) { context = NovaSMainContext() } } } else { context = NovaSMainContext() return context!! }

Andrey
24.10.2018
13:37:52
да мне уже подсказали, спасибо
Там ещё много полезностей. Рекомендую глянуть на flatMap, filter, fold, foldRight, reduce для начала. Примерно такой же API есть для ленивых операций с Sequence. Iterable можно преобразовать в Sequense с помощью asSequence, обратно - asIterable

Vadim
24.10.2018
13:40:13
а в первой ветке if тоже return?
не, в первом мы просто создаем екземляр а после when возвращаем.. емм, да протупил, можно и во втором if убрать return

Google
Vadim
24.10.2018
13:45:59
там же .let нужнен ибо переменная мутабельная

Nameless
24.10.2018
13:46:05
это локальная переменная

кто ее изменит?

а только сейчас увидел, там и классы одни и теже присваются

ща

Vadim
24.10.2018
13:47:15
кто ее изменит?
ааа, я не увидел присвоение

Nameless
24.10.2018
13:48:07
наслаждайся, я так понял тебе ничего не надо ретернить

Vadim
24.10.2018
13:48:44
во, бомба, спасибо большое

Nameless
24.10.2018
13:49:01
во, бомба, спасибо большое
позязя, это при том что я котлина не знаю и не пишу нам нем почти ?

Vadim
24.10.2018
13:49:37
Vadim
24.10.2018
13:54:17
а если context будет null оно попадет туда?

Unknown
24.10.2018
13:55:45
должно
а мне кажется нет

Andrey
24.10.2018
13:56:01
Ключ к разгадке - интернирование строк? )
Да. Точнее тот факт, что в Java все строковые литералы интернируются. В результате a и b - ссылки на одну и ту же строку.

Quantum Harmonizer
24.10.2018
13:57:43
Nameless
24.10.2018
14:02:21
а мне кажется нет
еще никогда ты так не ошибался )

Google
Nameless
24.10.2018
14:02:23




Quantum Harmonizer
24.10.2018
14:07:59
Nameless
24.10.2018
14:09:30
context?.takeIf { it.deviceNam != ORION_S.deviceName } ?: NovaSMainContext()
и не дописано и с логической ошибкой

Mikhail
24.10.2018
14:10:46
окей, takeUnless

а почему недописано?

Nameless
24.10.2018
14:11:22
забыл про context = context?.takeUnless…

Mikhail
24.10.2018
14:11:34
фе, мутабельность

Nameless
24.10.2018
14:11:38
да и переприсваивание такое себе

ну мутабельность или нет, это было в задаче ?

Mi
24.10.2018
14:23:57
Может не сюда, но может кто подскажет как починить Gson, который энтити десереализует только со всеми значениями по умолчанию

или тыкните хотя бы куда искать

Mi
24.10.2018
14:25:04




get<User> то же самое возвращает



Google
Dmitry
24.10.2018
14:30:31
В респонсе лежит {"ok":true, "result":{ *и лишь тут идут поля User* }}, а не сразу {*поля User*}

Mi
24.10.2018
14:32:34
тооочно, вот я проморгал

спасибо большое

Bogdan
24.10.2018
14:34:47
Ну как, если всё вал и иммутабельное, то компилимся
но val не дает 100 % гарантии иммутабельности, это уже выяснили

ЕВГЕНИЙ
24.10.2018
14:36:05
Bogdan
24.10.2018
14:36:35
Alexandr
24.10.2018
15:03:23
Ключ к разгадке - интернирование строк? )
Близко, интернирование не нужно, строка уже будет в пуле)

а на что есть 100% гарантия?
На то что рефлексией можно разфигарить все что угодно

ЕВГЕНИЙ
24.10.2018
15:06:26
На то что рефлексией можно разфигарить все что угодно
у нее можно подменить байт код и разфигарить рефлексию

Alexandr
24.10.2018
15:08:10
у нее можно подменить байт код и разфигарить рефлексию
Не факт, часть sdk нативная, рефлексия наверняка в большинстве нативная

Egor
24.10.2018
15:08:37
ЕВГЕНИЙ
24.10.2018
15:10:58
Не факт, часть sdk нативная, рефлексия наверняка в большинстве нативная
энивей ассемблерные хуки никто не отменял, какая разница нативное или нет, можно на байт коде вскрыть можно ассемблерным хуком приотритет процесса получить и там уже облость памяти разметить как изменяемую

Alexey
24.10.2018
15:11:37
О чем вообще говорить про платформу с Unsafe

Boris
24.10.2018
15:13:14
Дважды прочитал, но так и не понял о чем спор

Igor
24.10.2018
15:30:31
Я помню кому-то было интеpесно, как тестиpовать код с MTL-DI на kotlintest, сейчас написал чтo-тo ближе к истине, welcome to comment: https://gist.github.com/komigor/5c940efa8d020dd5efe62abf03d72e23

Nameless
24.10.2018
15:35:44
я так понимаю прогуард хреновенько дружит с котлином, да?

Igor
24.10.2018
15:36:38
Nameless
24.10.2018
15:38:14
чот там в лямдах запутался

Google
Quantum Harmonizer
24.10.2018
15:39:31
чот там в лямдах запутался
бывает, проблема котлина, я думаю

когда-то даже выносил вложенную лямбду из одной лямбды в другую, иначе был невалидный байт-код

Nameless
24.10.2018
15:40:03
бывает, проблема котлина, я думаю
я в печали, R8 в другом месте начал чудить, а прогуард котлин прожевать не может

уйду в бекендеры, там обфускать не надо как правило

Kirill
24.10.2018
15:40:33
у нее можно подменить байт код и разфигарить рефлексию
"Гедель, Эшер, Бах - эта бесконечная гирлянда" - о чём-нибудь говорит? )

Andrey
24.10.2018
15:40:44
О чем вообще говорить про платформу с Unsafe
Эмм... А есть платформы без Unsafe в том или ином виде?

Quantum Harmonizer
24.10.2018
15:41:29
PHP кривая_рожа.жпг

ЕВГЕНИЙ
24.10.2018
15:41:47
Nameless
24.10.2018
15:44:10
PHP кривая_рожа.жпг
там вроде изи можно модули на си вызывать

Kirill
24.10.2018
15:47:00
хотел почитать, к великому стыду не знаком (
Почитать стоит, штука в своём роде уникальная. Книга об автореферентности, являющаяся иллюстрацией этой самой автореферентности. И этот факт тоже - иллюстрация автореферентности. И дна у этой бездны нет ) В общем, любопытная вещь

Nameless
24.10.2018
15:48:48
бывает, проблема котлина, я думаю
блин, добавил весь пекедж с этими классами в -keep, все равно ругается

Nameless
24.10.2018
15:50:08
ну логично
-dontwarn спасет только? типо байткод валидный, а прогуард его не понимает?

Quantum Harmonizer
24.10.2018
15:50:22
не особо валидный

dontwarn стоит попробовать

Igor
24.10.2018
15:56:42
return@binding а это зачем?
чтобы студия выpавнивание не сбивала)

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