@kotlin_lang

Страница 705 из 982
Денис
13.06.2018
14:35:37
Ага

Рекомендую при таких вопросах открывать доку с списком методов/extension-функций коллекции, там обычно плюс-минус всё можно найти.

Konstantin
13.06.2018
14:39:09
^^ http://jussi.hallila.com/Kollections/

Александр
13.06.2018
14:40:36
Google
Денис
13.06.2018
14:41:24
О, прикольная страничка, надо схоронить

Никита?❄️
13.06.2018
15:13:54
ребят, как лучше всего поступить, когда есть сущность на 10+ полей? замутить огромный конструктор на 10 полей, мутить билдер или как?

по-сути получается билдер с ещё 10 полями и 10 методами - нелаконично

Anton
13.06.2018
15:15:48
зачем билдер если есть дефолтные параметры/именнованые аргументы

Pavlo
13.06.2018
15:16:57
кроме того, если есть возможность, разбить на более простьіе логичньіе сущности

Bogdan
13.06.2018
15:17:07
нл билдер не поможет

Никита?❄️
13.06.2018
15:17:37
пора пробовать DSL)

Quantum Harmonizer
13.06.2018
15:17:58
DSL — тот же билдер, мутабельная печалька.

Google
Никита?❄️
13.06.2018
15:18:30
там 7 из 11 полей мутабельны

а ещё 2 - другие сущности >_<

Bogdan
13.06.2018
15:18:59
там 7 из 11 полей мутабельны
ну можно тогда сделать дсл

Никита?❄️
13.06.2018
15:19:10
спасиб)

Bogdan
13.06.2018
15:19:30
2 передаещь в йункцию

ну думаю и сам знаешь)

я думал как то через интерфейс и иннер класс, сделать иммутабельным. Но если нужно получить именно класс, то не прокатит

Sergey
13.06.2018
15:34:20
https://github.com/JetBrains/kotlin/releases/tag/v1.2.50 тащите

>Debugger fails to show decomposed suspend lambda parameters неужели пофиксили?

whalemare
13.06.2018
15:41:13
>Debugger fails to show decomposed suspend lambda parameters неужели пофиксили?
У меня не фейлился, но упорно считал что переменных внутри suspend не существует и показать мне значения в них не мог

Было бы здорово, если б фиксанули

dimiii
13.06.2018
16:20:52
Что-то непонятное происходит в моем REPL:

import kotlinx.coroutines.experimental.future.* val fo = future { object { val hello = "world" } } error: 'public' property exposes its 'local' type argument <no name provided> val fo = future { object { val hello = "world" } } ^ val o = object { val hello = "world" } val fo = future { o }

error: 'public' property exposes its 'local' type argument <no name provided> - неприятная штука, кто что скажет про неё?

dimiii
13.06.2018
16:28:49
Может он саспенд функции не поддерживает. Кстати что это за future это билдеры для CompletableFuture?
Да, "Starts new coroutine and returns its results an an implementation of [CompletableFuture]." Собственно я наткнулся на проблему в kscript файле и потом уже воспроизвел в REPL. Как такового вызова корутины в моем коде нет.

В целом, картина следующая - если использовать конструкцию future { object {...}} в коде программы - все компилируется и работает без ошибок. В случае repl, kscript ругается непонятным сообщением. Так-то у меня костыль есть в виде val o = object {}; val fo = future { o }, попробую посмотреть, что есть в issue трекере на эту тему.

Если кому интересно, откуда возникла такая порнография - это я экспериментирую с прототипом аналога ансибл, в котором модель вычислений основывается на dataflow concurrrency вместо портянок с макросами и подстановками. kscript получается из плейбуки

Roman
13.06.2018
19:19:34
Товарищи, я не до конца понимаю как правильно пользоваться null safety. Вот есть у меня data class Something(var url: String, var fooList: List<Foo>?) fooList может быть null. А в методе saveSomething() мне надо сохранить something если fooList не null. Как это лучше сделать?

А в ином случае кинуть exception

Google
Quantum Harmonizer
13.06.2018
19:23:24
зачем вообще использовать нуллабельные листы?

Roman
13.06.2018
19:27:55
Axrorxo'ja
13.06.2018
19:29:14
Сам лист может быть null
Лучше пустой лист исползоват

Roman
13.06.2018
19:32:32
Лучше пустой лист исползоват
В принципе логично, спасибо

dimiii
13.06.2018
19:53:34
RTFM http://kotlinlang.org/docs/reference/object-declarations.html https://youtrack.jetbrains.com/issue/KT-19862

eugene
13.06.2018
19:55:37
Здравствуйте, подскажите, kotlin 1.2.50 вышел, правильно?

Boris
13.06.2018
20:00:41
А в 1.3 что интересного обещают? Ну, помимо самов

1337
13.06.2018
20:03:26
а чем корутины профитнее того же реактора? или они не пересекаются?

Quantum Harmonizer
13.06.2018
20:04:03
Vhäldemar
13.06.2018
20:04:12
тем, что они корутины

1337
13.06.2018
20:04:17
это ясно, а по факту чем?

Quantum Harmonizer
13.06.2018
20:04:36
это ясно, а по факту чем?
По факту тем, что это фича языка.

eugene
13.06.2018
20:04:36
тем, что это языковая фича
вроде, suspend - это языковая фича?

Bogdan
13.06.2018
20:04:59
а чем корутины профитнее того же реактора? или они не пересекаются?
ну вроде рекат это про очередность событий, в первую очередь

Ivan101
13.06.2018
20:05:28
тем, что это языковая фича
я где-то в докладе видел, что это не языковая фича, а либа. suspend - языковая фича, которая создана для поддержки либы

как-то так

dimiii
13.06.2018
20:05:42
По факту тем, что это фича языка.
Ну так то авторы больше напирают на то, что библиотечная.

Google
1337
13.06.2018
20:05:50
есть два проекта, в каждом можно без проблем подключить реактор, в одном используются корутины, во втором реактор для одинаковых задач, что лучше пользовать?

1337
13.06.2018
20:06:57
мне кажется, что реактор более функционален и в любом случае надо будет гонять из mono+flux в корутины и обратно, так что тут чистота не важна

Quantum Harmonizer
13.06.2018
20:07:01
Bogdan
13.06.2018
20:07:15
они же ещё experimental
ну апи может поменятся немного и что ?

Quantum Harmonizer
13.06.2018
20:07:17
ой блин, всё сначала

eugene
13.06.2018
20:07:22
и что?
баги могут быть, могут поменять api

Bogdan
13.06.2018
20:07:27
баги могут быть, могут поменять api
багов не меньше чем в джавее)?

eugene
13.06.2018
20:07:58
багов не меньше чем в джавее)?
откуда инфа? проверено?

Bogdan
13.06.2018
20:08:12
баги могут быть, могут поменять api
силно не поменяют, +- один метод, название или параметры

Quantum Harmonizer
13.06.2018
20:08:39
баги могут быть, могут поменять api
везде баги. API меняются мягко, с инструментами для миграции

Bogdan
13.06.2018
20:08:48
откуда инфа? проверено?
для этого узнай почему они експерементальы, у них не строго апи которое будут подерживать

Ivan101
13.06.2018
20:09:36
для нового проекта с тестами новое api не критично, пока доведешь до продакшена корутины выйдут в релиз =)

Bogdan
13.06.2018
20:10:28
@Harmonizr в джава чатике говорили что у jb хорошие пиар кампании, ка они проглядели насчет експериментального ? ?

Alexander
13.06.2018
20:33:03
А в 1.3 что интересного обещают? Ну, помимо самов
В марте обсуждали: 1. Релиз корутин 2. Инлайн классы 2а. Unsigned арифметика засчёт инлайн классов 3. Ещё немного аннотаций богу аннотаций (JvmDefault) 4. Вынесение всяких вещей в общий доступ 4а. Контракты 4б. Аннотации по выводу типов (NoInfer, Exact и тд) 5. SAM 6. Улучшения выводов типов 7. Перелопачивания компиляторов, чтобы jvm, js и native были ближе к единому целому. Слайды тут: https://speakerdeck.com/kug_spb/ekspierimiental-nyie-i-rieliznyie-fichi-v-kotlin-1-dot-3 Голосом и видеорядом: https://www.youtube.com/watch?v=gwk4rdgr36E Возможно всё сто раз поменялось, конечно же.

Google
Ilya
13.06.2018
20:48:46
Лучше пустой лист исползоват
Но это не отменяет того, что сам бэк может прислать list со значением null и тогда дефолтное значение не сработает

Руслан
13.06.2018
20:50:18
??? Kotlin 1.2.50 Пост в блоге: https://blog.jetbrains.com/kotlin/2018/06/kotlin-1-2-50-is-out/?utm_source=dailykotlin_tl Changelog на GitHub: https://github.com/JetBrains/kotlin/releases/tag/v1.2.50

Ilya
13.06.2018
20:51:29
вылетит ексепшин, такие места нада обрабатывать
Именно, и это грустно. Пытались объяснить бэку, что лучше в таком случае не присылать вообще какое-то поле - были не поняты и посланы((

Bogdan
13.06.2018
20:52:53
Именно, и это грустно. Пытались объяснить бэку, что лучше в таком случае не присылать вообще какое-то поле - были не поняты и посланы((
тут не важно бек или фронт, да и от серилизации зависит еще, как обработает нулл и "пустое значение"

Ilya
13.06.2018
20:53:59
Ну gson из retrofit обрабатывает как есть. Пришло null - запишет null

Quantum Harmonizer
13.06.2018
20:54:48
Ну gson из retrofit обрабатывает как есть. Пришло null - запишет null
я поэтому писал тайпадаптер для Gson, который использует конструкторы объектов

Quantum Harmonizer
13.06.2018
20:55:59
Есть где подсмотреть?)
https://github.com/Miha-x64/gson-constructor-type-adapter-factory

Kevin
13.06.2018
21:17:36
how can i cast Any to an object Class ? i have something like this var myNnn :Any want to ask to to an Object Class

Atlas
13.06.2018
21:21:10
Someclass::class.java no?

dimiii
13.06.2018
21:22:16
Dibro
13.06.2018
21:22:19
Kevin
13.06.2018
21:22:57
@Dibro I have somthing like this fun bindview(pool:Any){ //want to convert } I have my class class Users(var name, var id)

Someclass::class.java no?
fun bindview(pool:Any){ //want to convert } I have my class class Users(var name, var id)

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