@kotlin_lang

Страница 370 из 982
Vic
12.10.2017
16:35:22
Ну в принципе да, приходится признать это)

Igor
12.10.2017
16:35:33
Отличный нал, в колтине не хуже опшенала
+ (а вот Either/Result иногда не хватает)

Google
Vic
12.10.2017
16:36:42
Есть в сторонних либах

? animufag ?
12.10.2017
16:38:28
Хотя конечно расстраивает то, что вместо опшиона приходится использовать богомерзкий нулл.
это приницпиальное решение при дизайне языка. можешь вот этой либе помочь, если хочешь альтернатив https://github.com/search?l=&q=label%3Ahacktoberfest+state%3Aopen+type%3Aissue+repo%3Akategory%2Fkategory&type=Issues&utf8=%E2%9C%93

Quantum Harmonizer
12.10.2017
16:41:13
Boris
12.10.2017
16:47:44
хех) единственный плюс нула — его бесплатность
если очень хочется опшнл, то его можно и из нула сделать. Всё кроме наверное его итерабельности, ну, нула я имею ввиду. Хотя с поддержкой нулов в коллекциях оно и не особо нужно

т.е. можно определить методы вроде fun <T:Any> T?.orGet(..) и тому подобные, работать будет неотличимо от джавовского опшенала так точно

Vic
12.10.2017
16:51:37
Разрабы стд либы чуток не дожали )

Quantum Harmonizer
12.10.2017
16:56:16
Разрабы стд либы чуток не дожали )
они сами сказали, что не собираются пихать туда всё подряд

Boris
12.10.2017
17:10:13
Чем это лучше :? ?
А кто сказал, что это лучше?

Vladimir
12.10.2017
17:12:29
А кто сказал, что это лучше?
А зачем добавлять новый метод, который не лучше, если в языке уже есть встроенный аналог?

Boris
12.10.2017
17:20:00
просто потому что кому-то может быть привычнее логика опшенала

ну и временами позволяет более последовтельные цепочки строить

Igor
12.10.2017
17:22:43
А зачем добавлять новый метод, который не лучше, если в языке уже есть встроенный аналог?
А вот map мог бы уменьшить кол-во ?.let(…) в коде inline fun <T, R> T?.map(f: (T) -> R): R? = this?.let(f)

Google
Vladimir
12.10.2017
17:27:52
А вот map мог бы уменьшить кол-во ?.let(…) в коде inline fun <T, R> T?.map(f: (T) -> R): R? = this?.let(f)
А это не то же самое, что и просто ?. ? Хотя я могу представить, когда такой map действительно нужен

Igor
12.10.2017
17:30:30
Тоже самое, но интода бывает слишком много вопросов в коде))) https://i.gyazo.com/f88fe93b8a42d4191d8b554b79346044.png

Igor
12.10.2017
17:32:42
Ну тоже вариант

Vladimir
12.10.2017
17:32:56
Тоже самое, но интода бывает слишком много вопросов в коде))) https://i.gyazo.com/f88fe93b8a42d4191d8b554b79346044.png
Ни один из промежуточных методов не может выкинуть null, плохой пример

Igor
12.10.2017
17:36:06
Что было под рукой то и бросил, а так да лапшичку уже не так легко будет вынести

Fvre
12.10.2017
18:20:07
Всем привет Вопрос по requery и kotlin Через ретрофит с gson получаю сущность типа: @Entity data class Post ( @get:Key @field:SerializedName("post_id") val postId: Int, @field:SerializedName("text") val text: String, @field:SerializedName("people_id") val peopleId: Int?, @field:SerializedName("user") val user:User? @field:SerializedName("updated_at") val updatedAt: String, @field:SerializedName("created_at") val createdAt: String, ) : Persistable Если запустить так то получаются ошибки на User: Column or index name user may need to be escaped Entity reference missing relationship annotation Если прописать @ManyToOne @field:SerializedName("user") var user:User? , то получаю Immutable value type cannot contain relational referencesgetUser : Entity reference missing relationship annotation Как понял из вики, датаклассы иммутабельны и надо использовать или интерфейсы или абстрактные классы. Но как тогда лучше все организовать, чтобы одна и таже сущсность получалась из ретрофита и могла быть положена в локальную бд? Ретрофит же не сможет работать с интерфейсом или абстрактным классом?

Max
12.10.2017
18:29:20
Хз как реквери работает, но уберите дата класс. Сделайте его open, метод equals можно. самому написать

Igor
12.10.2017
19:10:55
функция должна быть extension-функцией к контексту, в котором её вызывают
@fogone ты это же предлагал или что-то другое? Потому как делать метод extension мне кажется странным (я так понимаю так в Anko)

Boris
12.10.2017
19:13:01
я правда в использовании забыл собственно контекст создать

ща

https://gist.github.com/anonymous/633c0b2d4c0a50856136bfa5072ccaa5

или я не совсем понял в чем суть вопроса, можешь еще раз?

Quantum Harmonizer
12.10.2017
19:15:34
Всем привет Вопрос по requery и kotlin Через ретрофит с gson получаю сущность типа: @Entity data class Post ( @get:Key @field:SerializedName("post_id") val postId: Int, @field:SerializedName("text") val text: String, @field:SerializedName("people_id") val peopleId: Int?, @field:SerializedName("user") val user:User? @field:SerializedName("updated_at") val updatedAt: String, @field:SerializedName("created_at") val createdAt: String, ) : Persistable Если запустить так то получаются ошибки на User: Column or index name user may need to be escaped Entity reference missing relationship annotation Если прописать @ManyToOne @field:SerializedName("user") var user:User? , то получаю Immutable value type cannot contain relational referencesgetUser : Entity reference missing relationship annotation Как понял из вики, датаклассы иммутабельны и надо использовать или интерфейсы или абстрактные классы. Но как тогда лучше все организовать, чтобы одна и таже сущсность получалась из ретрофита и могла быть положена в локальную бд? Ретрофит же не сможет работать с интерфейсом или абстрактным классом?
1. Не нужно выкладывать кусок кода на целый экран в сообщении. 2. Датаклассы не навязывают иммутабельность. Всё зависит от var и val. 3. Immutable value type cannot contain relational references — скорее всего, надо поменять val на var в данном случае.

Igor
12.10.2017
19:19:30
или я не совсем понял в чем суть вопроса, можешь еще раз?
А ColumnBuilder это же получается наш класс (у litho в его column.build нет метода который принимает factory)? И мне придется написать такие обертки для всех билдеров из той либы?

Boris
12.10.2017
19:20:03
А ColumnBuilder это же получается наш класс (у litho в его column.build нет метода который принимает factory)? И мне придется написать такие обертки для всех билдеров из той либы?
так экстеншен-же сделать надо, обертки делать дело гиблое. Т.е. смысл в том, чтобы максимально использовать те билдеры, что есть, иначе проще уже самому написать

Fvre
12.10.2017
19:20:17
За код извиняюсь, надо было спрятать в гист. Var я поменял тоже самое. Касательно датакласса как я понял это особенность requery: из хэлпа In Kotlin entity definitions can be created from interface classes with properties or from immutable data classes. Может ли gson и retrofit с интерфейсом работать или может есть другой обход?

Google
stas
13.10.2017
06:45:35
Давайте поменяем лого чата на kotlin здорового человека)))

whalemare
13.10.2017
06:48:38
Олдскул

stas
13.10.2017
06:53:16
Я не спорю, но это так не красиво. Я уже год в этом чатике, а захожу в него не так часто как в другие kotlin читы. Хоть тут и разговоры оживленный и людей больше. Субъективно Мне кажется чайник некрасивым. Думаю что jetbrains это тоже поняли Вот и решил предложить поменять)

Или Давайте на основе этого чайника замутим свой - красивый.))

Mi
13.10.2017
06:55:20
+ чайник так себе

не зря его поменяли

Boris
13.10.2017
06:56:48
Чайник тёплый, ламповый

Почти как этот чатик

Саша
13.10.2017
06:59:07
Руслан
13.10.2017
07:11:31
Делайте, мне то что

Quantum Harmonizer
13.10.2017
07:16:37
То есть ты не настаиваешь на чайнике?)

Nikita
13.10.2017
07:18:46
Что то не ладное в стане разрабочиков. 2 чат волнует дизайн какого то лого - то в мокси то тут. Фаза луны, может что то еще?

Руслан
13.10.2017
07:24:49
То есть ты не настаиваешь на чайнике?)
Мне в общем-то все равно, старый и новый нравится. Для меня старый чуть приятнее, потому что я его не вижу на каждом шагу

Есть ещё официальное лого для сообществ, аля как bkug.by

Sergey
13.10.2017
07:27:52
кстати да, лучше поставить его

stas
13.10.2017
07:38:20
Мне в общем-то все равно, старый и новый нравится. Для меня старый чуть приятнее, потому что я его не вижу на каждом шагу
Я тут тебя понимаю) можно попробывать свой замутить с блэкджэком и фантазией) А можно вообще конкурс устроить)))))

Google
Nikita
13.10.2017
08:48:02
Vitalii
13.10.2017
09:15:13
Да ну, чайник крут.

sne18
13.10.2017
12:16:08
Народ, есть в Москве кто уже давно пишет на Котлин и может рассказать на небольшом митапчике об этом?

Check out this Meetup with Moscow Programmers Club http://meetu.ps/e/DnvQl/vXkvp/d

Туда нужен чел кто расскажет

whalemare
13.10.2017
13:36:13
Туда нужен чел кто расскажет
У меня тут статейка есть, выступал с ней, можете заюзать если никого не найдете) https://medium.com/@whalemare/котлета-с-пюрешкой-dc28b3c918a5

? animufag ?
13.10.2017
13:42:15


whalemare
13.10.2017
13:42:43
Спасибо, а самому приехать рассказать ?
Дорого в Москву и обратно кататься

? animufag ?
13.10.2017
13:43:26
ну понятно, что там опшонал. немного странно что используется форич ну то есть наверняка есть аналогичная функция с более говорящим названием

whalemare
13.10.2017
13:44:13
:3 Наверное есть, но мне не понятно что там имелось ввиду (

? animufag ?
13.10.2017
13:45:21
ну опшонал = список с максимальным размером 1 (так что он там наверное итерейбл) форич используется тк нужен чисто побочный эффект, а если бы нужен был результат то мап

Pavel
13.10.2017
15:51:19
Парни, как подсветить входящие параметры лямбды в Android Studio 3.0?

Задолбало уже в исходники ходить, чтобы вспомнить какие же там аргументы блин

Google
Pavel
13.10.2017
15:55:41
в 83 строке жмем ctrl+p, а в 87 не работает :( http://simplecat.tk/shots/shot-171013-185412-800982.png

? animufag ?
13.10.2017
16:11:34
вообще норм проблема. существенная

в случае нескольких аргументов он их подставляет

да и ctrl+space предлагают добавить аргумент даже с его типом. так что ок

Pavel
13.10.2017
16:23:12
Выяснилось, ctrl+space действительно подставляет аргументы, но только если тело лямбды пустое.

Это конечно лучше чем ничего.

Мерлин
13.10.2017
17:52:37
Здравствуйте А не мог бы ктото подсказать, где можно спиратить Modern Web Development with Kotlin?

Boris
13.10.2017
18:30:12
Здравствуйте А не мог бы ктото подсказать, где можно спиратить Modern Web Development with Kotlin?
вот если бы купить, с радостью бы подсказали, а так -- поищи лучше сам

вот плохо всё-таки без сам-а для котлиновских интерфейсов

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