@kotlin_lang

Страница 903 из 982
Жабра
02.10.2018
17:52:23
Забавно... Вот такое class Foo( val bar: Int = 10 ) Развернулось вот в такое public final class Foo { private final int bar; public final int getBar() { return this.bar; } public Foo(int bar) { this.bar = bar; } // $FF: synthetic method public Foo(int var1, int var2, DefaultConstructorMarker var3) { if ((var2 & 1) != 0) { var1 = 10; } this(var1); } public Foo() { this(0, 1, (DefaultConstructorMarker)null); } }

Зачем нужен второй конструктор с 3 параметрами??

Quantum Harmonizer
02.10.2018
17:56:19
Зачем нужен второй конструктор с 3 параметрами??
Он вызывается, когда часть параметров передана, часть — нет. Нужен чтобы подставить дефолтные значения параметрам.

Artem
02.10.2018
17:56:23
Здрасте. Сейчас поднял версию до 1.2.71 и гредл стал падать на этом моменте: kapt { useBuildCache = true } Чет ничего и ненагуглил по итогу(

Google
Руслан
02.10.2018
18:16:08
Quick Start - Quick Start - Ktor http://ktor.io/quickstart/index.html

Теперь включает Gradle Kotlin DSL

Nameless
02.10.2018
18:40:47
на маке же прекрасно делаются аккуратные скриншоты из коробки)

Руслан
02.10.2018
18:41:34
Пулреквеств очень охотно принимают

Nameless
02.10.2018
18:42:57
Пулреквеств очень охотно принимают
а этот quickstart проект где-то есть?

беглым поиском не нашел

Руслан
02.10.2018
18:43:36
Ну там вроде зарепродюсить не сложно, но ещё есть вариант заслать issue

Nameless
02.10.2018
18:44:02
понял

Sergey
02.10.2018
18:47:40
Quick Start - Quick Start - Ktor http://ktor.io/quickstart/index.html
все, теперь точно обновлюсь

http://ktor.io/servers/deploy.html тут обнови еще

Руслан
02.10.2018
18:51:30
Да, там ещё 4 страницы WIP

Google
Sergey
02.10.2018
18:52:10
?

я тоже какую-то херь контрибьютил)

Quantum Harmonizer
02.10.2018
19:11:06
Все андроидщики уже вступили в соответствующий чат? https://t.me/kotlin_mobile/13811

Жабра
02.10.2018
21:17:49
Помогите решить проблему, плиз Есть вот такая функция для коина fun networkClientModule(serverAddress: ServerAddress): Module = module { scope(networkContextName) { NetworkClient(serverAddress) } } В один момент мне нужно выгрузить этот NetworkClient и загрузить с другим адресом. Делаю каждый раз так loadKoinModules(networkClientModule(serverAddress)) getKoin().createScope(networkContextName) Но падает с ошибкой BeanOverrideException: Try to override definition with Scope [name='NetworkClient',class='admin.data.network.NetworkClient'], but override is not allowed. Use 'override' option in your definition or module. И причём в доке написано: To declare a scope definition, use the scope function with a given scope Id: module { scope("scope_id") { Presenter() } } A scope definition can’t be resolved if associated scope has not been created. Then get<Presenter>() return an error. Но я тупо не понимаю, что они имеют ввиду. .——.

Igor
03.10.2018
04:38:31
Может кто-нибудь заревьюить код и посоветовать возможно какие-то хорошие мысли насчет того, как бы его попроще сделать? https://gist.github.com/komigor/96c5e6c206b31f54db0d7f6953131d6f

Igor
03.10.2018
04:41:48
Option? зачем?
Перед scan? Потому что первое сообщение содержит и схему, и данные, и нужно на основании схемы парсить данные из сообщений.

Я не придумал ничего умнее, кроме как воспользоваться таким способом с Tuple<Msg, Option<Msg>> в scan

Alexandr
03.10.2018
04:42:26
для этого сущействуют билдеры (9 строка второго файла) https://gist.github.com/komigor/96c5e6c206b31f54db0d7f6953131d6f#file-websocketscrapper-kt-L9

Igor
03.10.2018
04:43:27
почему не просто nullable?
Религиозный вопрос. Потому что использую arrow и мне в целом куда гармоничнее использовать option за редкими исключениями. Плюс на null Observable будет ругаться, а на None – нет

Igor
03.10.2018
06:08:31
dimiii
03.10.2018
08:04:25
Может кто-нибудь заревьюить код и посоветовать возможно какие-то хорошие мысли насчет того, как бы его попроще сделать? https://gist.github.com/komigor/96c5e6c206b31f54db0d7f6953131d6f
- Немножк неочевидные названия методов, вроде .k(), unNone. - Хотелось бы bitmexAdapter#through покороче и попонятнее - websocketScrapper#parse - можно собственно парсинг отделить от IO

Mikhail
03.10.2018
09:53:01
Там POC тайпклассов в котлине выкатили https://github.com/arrow-kt/kotlin/pull/6

Sergey
03.10.2018
09:56:55
Там POC тайпклассов в котлине выкатили https://github.com/arrow-kt/kotlin/pull/6
упоролись) я ж не думаю что они просто так начали делать?

Mikhail
03.10.2018
09:57:43
Ну почему просто так, есть KEEP-87, там было большое обсуждение, JB попросили POC

Google
Mikhail
03.10.2018
10:14:25
да

Konstantine
03.10.2018
10:19:06
Когда вообще стоит выделять функцию как suspend? Мне студия через раз ругается, мол слово лишнее.

Igor
03.10.2018
10:20:46
Когда вообще стоит выделять функцию как suspend? Мне студия через раз ругается, мол слово лишнее.
Когда функция пытается вызвать др suspend функцию и код не компилируется ?‍♀️

Mikhail
03.10.2018
10:22:30
Egor
03.10.2018
10:22:52
а await типа не суспенд?
ну, с первого взгляда это неясно, особенно для человека, который первый раз видит корутины

Жабра
03.10.2018
10:24:15
а await типа не суспенд?
Он сказал "или другая суспенд"

Konstantine
03.10.2018
10:28:59
Вроде видел, как вообще все функции в интеракторах делали корутинами, даже если они внутри не вызывали корутины.

И тут кто то, вроде, говорил. Мол, саспенд можно использовать как контракт на то, что функцию лучше использовать не в ui.

Quantum Harmonizer
03.10.2018
10:32:12
Вроде видел, как вообще все функции в интеракторах делали корутинами, даже если они внутри не вызывали корутины.
Удобно в библиотеках чтобы потом совместимость не ломать. Но много лишнего нагенерируется.

Igor
03.10.2018
10:33:28
Странная библиотека. Вчера она 2+2 складывала, а сегодня (асинхронно) в сеть полезла. Да и вообще такие либы из джавы же нельзя будет юзать (горе то какое).

Mikhail
03.10.2018
10:39:22
Konstantine
03.10.2018
10:39:49
Mikhail
03.10.2018
10:40:17
Как саспенд противоречит чистоте?
хм, а какие функции лучше не дергать с UI?

Konstantine
03.10.2018
10:41:44
круто было бы делать интеракторы чистыми и не нуждающимися в саспенде
Да и ты сам недавно говорил, что все слои кроме презентейшена стоит делать саспендами.

хм, а какие функции лучше не дергать с UI?
Все что не взаимодействует с ui?

Mikhail
03.10.2018
10:42:24
Да и ты сам недавно говорил, что все слои кроме презентейшена стоит делать саспендами.
это если у тебя каноничные интеракторы с зависимостями на data слой

т.е. Presenter(Interactor(Repo(ApiImpl())))

Igor
03.10.2018
10:43:40
Все что не взаимодействует с ui?
Ну такое, те же маперы внутри "репозитория" - можно делать чистыми

Google
Mikhail
03.10.2018
10:44:04
а можно писать Presenter(Interactor(), Repo(ApiImpl))

и тогда интерактор чист и без саспендов

Konstantine
03.10.2018
10:44:43
Ну такое, те же маперы внутри "репозитория" - можно делать чистыми
Снова: причем тут чистота то? Как саспенд ей противоречит. Мапперы вообще по умолчанию чистые вроде, не знаю как их надо писать иначе.

Admin
ERROR: S client not available

Quantum Harmonizer
03.10.2018
10:45:32
корутины имеют состояние
ну, а в функциях есть переменные :)

Mikhail
03.10.2018
10:46:20
Quantum Harmonizer
03.10.2018
10:47:07
не понял о чем ты
переменные — тоже состояние

любой цикл — состояние

Egor
03.10.2018
10:47:45
Quantum Harmonizer
03.10.2018
10:47:56
Не глобальное же
так и корутины — не глобальное

Mikhail
03.10.2018
10:49:03
да, можно сделать чистую корутину

но ???❓

Igor
03.10.2018
10:52:46
любой цикл — состояние
> 2018 > Циклы > var переменные ?

Konstantine
03.10.2018
10:53:45
Так можно дойти до того, что чистых функций нет, ведь исполнение кода зависит от техники на которой он исполняется. ?

Quantum Harmonizer
03.10.2018
10:53:54
> 2018 > Циклы > var переменные ?
Пишешь без циклов? Без forEach или map?

Vitalii
03.10.2018
10:54:24
> 2018 > Циклы > var переменные ?
А как могут быть не var переменные?

Igor
03.10.2018
10:54:27
но ???❓
? -> ? ?

Google
Konstantin
03.10.2018
10:54:39
лол

Quantum Harmonizer
03.10.2018
10:54:52
Vitalii
03.10.2018
10:55:01
val могут быть)
val — это переменная?

Konstantin
03.10.2018
10:55:08
постоянная

Quantum Harmonizer
03.10.2018
10:55:15
val — это переменная?
константой как-то тоже не назвать

Egor
03.10.2018
10:55:32
Как сделать из чата котлинистов чат демагогистов

Bogdan
03.10.2018
10:58:57
корутины имеют состояние
Так фп ничего не говорится об внутреней реализации. Скажем у нас есть хаскель на джвм и на еще "чём то там", внутри там может быть что угодно

Alexandr
03.10.2018
11:01:05
Упомянуть фп
пустить сюда скалистов

Timophei
03.10.2018
11:01:48
Разводить срач по поводу и без повода

Сергей
03.10.2018
11:02:11
пустить сюда скалистов
У скалистов вроде припекает от котлина они на нем не пишут(вроде бы)

Timophei
03.10.2018
11:03:06
люди не скалисты

Andrew
03.10.2018
11:03:40
Прекращайте, ребят.

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