@kotlin_lang

Страница 356 из 982
Boris
04.10.2017
09:46:31
А, сори, это же мапа

А ещё скаловские имплисидные обертки можно использовать эксплисидно

Dmitry
04.10.2017
09:51:18
мб пригодится https://gist.github.com/tsydd/7923b917aa94a68e7310a9257e082df6

Google
Руслан
04.10.2017
10:10:39
Мб ограничение на количество аргументов функции (26 вроде)
22 в лямбдах, а в jvm вроде 255 но это не точно

Igor
04.10.2017
10:10:40
мб пригодится https://gist.github.com/tsydd/7923b917aa94a68e7310a9257e082df6
Очень признателен. Пока что пытаюсь сделать так, чтобы gradle прожевал kotlin-овский модуль в scala-проекте

Quantum Harmonizer
04.10.2017
10:16:01
Руслан
04.10.2017
10:17:32
Vic
04.10.2017
10:19:37
Кто помнит, откуда взялось магическое число 22?

Руслан
04.10.2017
10:19:49
Из скалы

Vic
04.10.2017
10:20:18
А там?

Где-то я слышал объяснение

Но забыл

Руслан
04.10.2017
10:20:48
22 хватит всем

Vic
04.10.2017
10:22:40
С нулем это 23, а 23 простое число

Igor
04.10.2017
10:22:52
Кто помнит, откуда взялось магическое число 22?
Возможно из ламповых времен dos 80x25 (3 строки на меню)

Vic
04.10.2017
10:22:57
А дальше не помню в чем магия

Google
Руслан
04.10.2017
10:23:26
На самом деле в скале(или дотти, разбери их там) вроде уходят от этого ограничения, собвстенно в котлине тоже, выше обсуждался KEEP

Quantum Harmonizer
04.10.2017
10:24:47
С нулем это 23, а 23 простое число
23 интерфейса, он 0 до 22 параметров

Vic
04.10.2017
10:25:12
Это я и имел в виду

Igor
04.10.2017
10:28:27
Очень признателен. Пока что пытаюсь сделать так, чтобы gradle прожевал kotlin-овский модуль в scala-проекте
Работает :33 Единственное неприятное из того, что заметил - что приходится все optional параметры таки-указывать. То есть нужно в функции на kotlin передавать все аргументы в независимости от того, есть дефолтное значение или нет.

Арсений
04.10.2017
10:42:40
Всем привет, ребята есть кто отказался от DI для синглетонов в пользу object, забив на скоуп? Что думаете об этом?

Арсений
04.10.2017
10:46:35
Наверное нет. А какой смысл?
Отказаться от добавления либы, проще в реализации

Quantum Harmonizer
04.10.2017
10:50:28
Всем привет, ребята есть кто отказался от DI для синглетонов в пользу object, забив на скоуп? Что думаете об этом?
Правило очень простое: в качестве синглтонов хороши только чистые функциональные объекты.

Михаил
04.10.2017
10:51:27
Арсений
04.10.2017
10:52:38
вообще di не про синглтоны)
Да но используется для синглетонов очень часто и если только для этого то почему бы не отказаться от нее (ну пусть Дагер) в пользу object

Igor
04.10.2017
10:53:56
Стейта нет
Все таки, я так не понял что конкретно это за “синлтоны”, какие ты ими кейс решаешь. И зачем тебе тогда вообще синглтоны, а не взять top-level-functions ?

Руслан
04.10.2017
10:55:38
Все таки, я так не понял что конкретно это за “синлтоны”, какие ты ими кейс решаешь. И зачем тебе тогда вообще синглтоны, а не взять top-level-functions ?
Не в андроиде обычные бины (синглтоны по сути) нужны чтобы иметь несколько профайлов + логическое объедение операций + мокать интерфейсы проще

Арсений
04.10.2017
10:59:23
Все таки, я так не понял что конкретно это за “синлтоны”, какие ты ими кейс решаешь. И зачем тебе тогда вообще синглтоны, а не взять top-level-functions ?
Согласен с Русланом, но чтоб не отходить от сути можно допустить что state есть. Не избавляет ли нас котлин от реализации синглетонов через какие-то сторонние либы.

Руслан
04.10.2017
11:02:55
Ну spring-context - реализация синглтона через либу

Konstantin
04.10.2017
11:03:22
Согласен с Русланом, но чтоб не отходить от сути можно допустить что state есть. Не избавляет ли нас котлин от реализации синглетонов через какие-то сторонние либы.
Нет. Потому что в том же даггере singleton лишь говорит о том, как создавать зависимость — пилить новые инстансы или нет.

Google
Pavel ?
04.10.2017
11:04:45
Ребята как глянуть у класса все экстеншены к нему из идеи?

есть какой нить шоткат?

Konstantin
04.10.2017
11:06:32
А если используется всегда без новых инстансов?
В смысле всегда один инстанс? В чем вопрос?

Руслан
04.10.2017
11:07:53
есть какой нить шоткат?
на линуксе ctrl+alt+shift+7, Find Usages

Арсений
04.10.2017
11:08:28
Konstantin
04.10.2017
11:10:03
Да, всегда один инстанс
Во-первых, эта зависимость может зависеть от чего-то еще, во-вторых, опять же, di как идея ортогональна средствам языка.

Виталий
04.10.2017
15:10:07
Привет, есть вопрос про котлин и data классы. Какой сериализатор использовать для ретрофита, чтобы null строки отображались как empty, если строки в данном объекте нет. И чтобы не порождать дополнительно пустой конструктор

Павел
04.10.2017
15:17:40
Может, я не так понял вопрос, но чем плоха такая реализация data class Example(val test: String = "empty")

Eugeny
04.10.2017
15:18:36
not null "неинициализированные" значения зло в случае пропертей

Maxim
04.10.2017
15:18:39
Если в респонсе нету строки test то оно будет null при использовании Gson

Eugeny
04.10.2017
15:18:58
будет не NPE, а другие проблемы, что расчитывали, что будет реальное значение, а не ""

Виталий
04.10.2017
15:19:23
Может, я не так понял вопрос, но чем плоха такая реализация data class Example(val test: String = "empty")
ну потому что, нужно в таком нужно указывать дефолтное значение для всех параметров, то есть мы получаем дефолтный конструктор

Павел
04.10.2017
15:20:53
А чем не подходит вариант оставить их optional и обрабоать потом? Ну если это принципиально, то можно сделать кастомный адаптер для Moshi

Виталий
04.10.2017
15:21:09
именно для строки?

или для класса?

Павел
04.10.2017
15:23:11
Для строки

Будет что-то вроде такого @field:[AdapterName] val test: String

Ну и класс-адаптер, с 2мя методами toJson и fromJson

Google
Quantum Harmonizer
04.10.2017
15:24:34
можно и с Gson поставить аннотацию, которая задаст TypeAdapter

Павел
04.10.2017
15:34:22
Но лучше оставить модели чистыми и вынести эту логику куда-нибудь Имхо Я на эти грабли уже наступал, только с денежными суммами. Мне их надо было только отображать в нужном формате, я написал адаптер и жил спокойно пару релизов. А потом правки, появилась задача делать операции с этими суммами, сравнивать, складывать, а у меня везде всё в строках...

Виталий
04.10.2017
15:42:12
но тут то мы не меняет тип, а просто null заменяем на ""

Quantum Harmonizer
04.10.2017
15:47:03
Есть ещё такой вариант: использовать Gson с TypeAdapterFactory, который создаёт объекты через конструктор (вместо Unsafe). Если создать конструктор, который принимает нуллабельные строки и делает их ненуллабельными, будет ок.

Valeriy
04.10.2017
23:33:37
Где посмотреть good practices RxKotlin? Пока только вникаю в эту реактивную тему

Egor
05.10.2017
00:16:21
RxKotlin ?

whalemare
05.10.2017
02:21:02
Где посмотреть good practices RxKotlin? Пока только вникаю в эту реактивную тему
RxKotlin это та же rхЖава только с экстеншенами, вроде

Ivan
05.10.2017
02:23:30
RxKotlin это та же rхЖава только с экстеншенами, вроде
Именно,но если у людей возникают вопросы по хорошим практикам для rxkotlin, то это показатель уровня чаще всего

Ну или что человек не очень сформулировал,но это реже

whalemare
05.10.2017
02:25:03
или хитрый, если бы написал про "бест практис на рхЖава" мы б его послали в другой чат, а тут вроде рхКотлин так что и ответить можно, но мы все равно не ответили, кек)) на медиуме вбиваешь rxJava и смотришь кучу классных фишечек

Михаил
05.10.2017
05:57:05
Это скорее всего показатель того, что не посмотрели что за либа)

Valeriy
05.10.2017
06:37:31
Я знаю что это за либа, единственный вопрос который возникает это где нужно применять, а где нет. Имею ввиду RxJava в Котлин, т.к. в некоторых случаях в отличие от джавы проще сделать средствами языка

Михаил
05.10.2017
06:42:28
В смысле где?) Везде где удобно) rxkotlin - это просто набор экстеншн-функций для более удобной работы

Quantum Harmonizer
05.10.2017
07:02:00
@Asero0 this really looked like spam.

Deni
05.10.2017
07:22:10
привет, а существуют какие то способы узнать Unused Resources в kotlin проекте? Стандартный lint выдает почти все ресурсы как неиспользуемые

Alex
05.10.2017
07:24:52
попробуйте Refactor-> Remove unused resources

привет, а существуют какие то способы узнать Unused Resources в kotlin проекте? Стандартный lint выдает почти все ресурсы как неиспользуемые

Deni
05.10.2017
07:26:11
попробуйте Refactor-> Remove unused resources
спасибо, действительно показывает неиспользуемые ресурсы, спасибо

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