@kotlin_lang

Страница 442 из 982
Лёша
05.12.2017
05:57:03
Если название переменной подчеркнуто, значит мутабельно Потому подчеркивается Если в дальнейшем переменную не собираешься переприсваивать, объявляй через val Грубо говоря

Vladimir
05.12.2017
05:57:03
это к вопросу, что такое подчеркивание
На него как-то надо реагировать?

whalemare
05.12.2017
05:58:08
как-то определенно надо, но своими способностями предсказателя могу догадываться что точно не так, как ты думаешь

Vladimir
05.12.2017
05:58:15
Правильно ли я понял, что в Котлине нельзя объвить переменную, не инициализировав её сразу?

Google
whalemare
05.12.2017
05:58:27
через lateinit можно

Vladimir
05.12.2017
05:58:54
Andrey
05.12.2017
05:59:16
через lateinit можно
Про экстеншены. Это типа kotterknife или самописные к context?

Gor
05.12.2017
05:59:25
правда теперь смысла в этом нету, лейтинит можно проверять проинитился или нет

whalemare
05.12.2017
05:59:40
Gor
05.12.2017
05:59:46
но он вроде через рефлексию же работает

whalemare
05.12.2017
06:00:50
Andrey
05.12.2017
06:07:21
https://antonioleiva.com/kotlin-android-extensions/
Выглядит здорово. Спасибо!

Проблем с ними никаких не возникало ?

Лёша
05.12.2017
06:11:44
Проблем с ними никаких не возникало ?
Неа, главное случайно не импортнуть ненужный тебе лаяут, где есть вьха с таким же именем, что в нужном тебе луяуте

Vadim
05.12.2017
08:18:10
Хоть убейте не понимаю в чём разница между sealed и abstract

Google
Sergey
05.12.2017
08:21:45
abstract может иметь неограниченное кол-во наследников, sealed только те, которые указаны возле него

Siarhei
05.12.2017
08:33:37
В C# грамотно с этим, всмысле слово используется для описания содержимого класса в разных файлах. у sealed в котлине есть практическое использование?

Siarhei
05.12.2017
08:38:26
thx!

Oleg
05.12.2017
08:38:37
Vadim
05.12.2017
09:07:57
Как понять возле него?

abstract может иметь неограниченное кол-во наследников, sealed только те, которые указаны возле него

Лёша
05.12.2017
09:12:15
из доки A sealed class can have subclasses, but all of them must be declared in the same file as the sealed class itself т.е. в другом месте ты не можешь отнаследоваться от sealed класса если в чужой либе, класс помечен, как sealed, то опять же не сможешь от него унаследоваться

Phil
05.12.2017
09:17:13
Удобно для всяких Optional и типизованных Result.

Kirill
05.12.2017
09:18:50
Не надо MVU вмешивать сюда ?
@angmarr а что такое MVU? :) не получается загуглить

Kirill
05.12.2017
09:21:38
а, TEA, спасибо

Сергей
05.12.2017
09:49:13
архитектура elm
Откуда растут ноги у этой аббревиатуры если не секрет? Тоже первый раз встретил.

Igor
05.12.2017
09:56:27
мужики а вы тестируете закрытые методы?
Нет. Тестироваться должны только открытые методы. При грамотной декомпозиции, естессна

Igor
05.12.2017
10:05:28
Откуда растут ноги у этой аббревиатуры если не секрет? Тоже первый раз встретил.
Ты про какую конкретно? - MVU - model/view/update (тут наверное по главным компонентам: model + 2 функции view/updae) - Elm - это функциональный язык + фрейворк для фронтенда (elm-lang.org) - TEA - The Elm Arhichecture Правильнее называть все таки TEA, но есть доклады/статьи где и MVU называют.

Сергей
05.12.2017
10:06:43
Я про MVU, в контексте элм архитектуры я всегда оперировал как TEA

Boris
05.12.2017
10:06:46
Нет. Тестироваться должны только открытые методы. При грамотной декомпозиции, естессна
это не всегда верно. Конечно в первую очередь нужно тестировать контракт, но это обычное дело протестировать внутренний метод отдельно, если он содержит сложную логику которую нет смысла целиком покрывать через контракт, а выносить в отдельную сущность нет смысла

Igor
05.12.2017
10:12:28
Из не давнего просмотренного вспоминаю https://youtu.be/EDp6UmaA9CM?t=31m37s

Сергей
05.12.2017
10:14:05
Спасибо!

Google
Igor
05.12.2017
10:14:49
Ты кстати в курсе что по elm (настоящему для web) есть чат? @elm_ru

Sergey
05.12.2017
10:27:25
вопросы связанные с андроидом задавайте в @kotlin_mobile

Vadim
05.12.2017
10:56:24
Ребята, при работе с сетью, и самой связке interface/data class/connectors что можно посоветуете почитать? Заострить внимание?

Sergey
05.12.2017
11:07:22
работе с сетью в каком смысле?

Сергей
05.12.2017
11:13:42
там сейчас Reddit AMA с лидами Котлина начался https://www.reddit.com/r/Kotlin/comments/7hoytl/kotlin_team_ama_ask_us_anything/

Igor
05.12.2017
11:18:18
ОбЪясните нулевому-в-редите “куда смотреть и чего ждать”? Просто коменты читать в ожидание ответа Бреслава или Дмитрия?

Сергей
05.12.2017
11:19:29
Типа того, в этом суть AMA

Abraham
05.12.2017
11:20:33
Туда еще можно настрочить?

Сергей
05.12.2017
11:20:55
Плюс ты сам можешь задать вопрос на который с высокой вероятностью получишь ответ.

да, он только начался

Abraham
05.12.2017
11:21:23
Супер

Kirill
05.12.2017
11:21:42
Туда еще можно настрочить?
у тебя есть примерно сутки на это :)

Abraham
05.12.2017
11:23:27
Руслан
05.12.2017
11:27:15
Сразу видно кто прочитал релиз ноуты к 1.2, а кто нет :)

Vitaly
05.12.2017
11:30:50
А в котлине мы еще мапы из дата классов делать не умеем? Я имею в виду такие кейсы: data class Book(val id: Int, val name: String) val book = Book(123, "abc") namedjdbc.update(sql_query, toMap(myBook)) вооще огонь было б и чтоб без всяких рефлекшнов :))

Sergey
05.12.2017
11:35:04
а вообще можно взять сериалайзер и сделать сериалайз в мапу)

Google
Admin
ERROR: S client not available

Vitaly
05.12.2017
11:35:25
вот я ща как раз релиз нотс читаю и наткнулся на https://github.com/kotlin/kotlinx.serialization

Sergey
05.12.2017
11:35:35
objectMapper.convertValue(obj, Map::class) как-то так

Phil
05.12.2017
11:38:31
Как всегда интересно, что там с наследованием ) И чем это лучше того же Jackson

Phil
05.12.2017
11:51:34
В смысле, с kotlin.jvm в kotlin.js?

Иннокентий антифа
05.12.2017
11:53:10
а то я уже собрался писать через рефлексию

Sergey
05.12.2017
11:53:29
Руслан
05.12.2017
11:54:48
Все записались на вебинар? https://info.jetbrains.com/Kotlin-Webinar-December2017.html?mail=event

Vitaly
05.12.2017
12:25:32
Все записались на вебинар? https://info.jetbrains.com/Kotlin-Webinar-December2017.html?mail=event
Теперь да. Пасиб. Че то у меня с котлин 1.2 мавеновски allopen перестал грузиться и работать, пичалька, рукамены open-ы ставлю

Gor
05.12.2017
13:20:04
Хм, а может кто посоветует как на котлине лучше делать сложные листенеры с несколькими колбеками? Обычный подход с интерфейсом занимает довольно много места, и с лямбдами (поправьте если ошибаюсь) не дружит С другой стороны можно сделать что-то типа такого - https://pastebin.com/xBnJGHPw

Aleksandr
05.12.2017
13:20:49
колин с лямбдами не тружит? сириус?)

fun <T> login(login: String, password: String, callback: (user: User?, requestStatus: RequestStatus) -> T): CallbackStatus {

Gor
05.12.2017
13:22:45
я же про комплексный листенер говорю

Aleksandr
05.12.2017
13:23:10
а задача собственно в чем?

Gor
05.12.2017
13:23:26
создать листенер на несоклько ивентов

Aleksandr
05.12.2017
13:23:26
можно подписку реализовать

Igor
05.12.2017
13:24:19
создать листенер на несоклько ивентов
Может лучше несколько отдельных листнеров

Google
Aleksandr
05.12.2017
13:24:35
вы можете назначить одну функцию, которая будет отрабатывать

Gor
05.12.2017
13:24:36
Может лучше несколько отдельных листнеров
можно, но листенер может обнулятся

проще в группу сбить

путем создания класса

Aleksandr
05.12.2017
13:25:16
если у вас каждый из коллбэков ожидает функцию с разными параметрами - пишите обертки

Gor
05.12.2017
13:26:11
да не параметры главное

Aleksandr
05.12.2017
13:26:12
fun <T> loginA(login: String, password: String, callback: (user: User?, requestStatus: RequestStatus) -> T) ... fun <T> loginB(login: String, password: String, callback: (user: User?, requestStatus: RequestStatus) -> T) ... fun <T> loginC(login: String, password: String, callback: (user: User?, requestStatus: RequestStatus) -> T) ...

вызываем loginA("username", "password", this.someCallbackFunction())

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