@kotlin_lang

Страница 323 из 982
Dmitry
15.09.2017
07:47:31
Мотивацию дефолта или подсветки?

DarkMentat
15.09.2017
07:49:15
дефолт, подсветка - это в какой-то мере костыль-исправление

Михаил
15.09.2017
07:52:32
Только заметил, что иде начала подсвечивать, что метод может быть приватным. Ото сделали паблик по-дефолту, а теперь светят... Я один не понял мотивацию этого?
А что плохого в том, чтобы сделать метод приватным по возможности? Паблик его всегда можно успеть сделать

DarkMentat
15.09.2017
07:55:02
Не, я за приватность. Просто до сих пор думаю, что она должна была быть по-дефолту

Google
whalemare
15.09.2017
07:55:44
Сложно. Я согласен со всеми кто тут выше отписался, что делать :О

Boris
15.09.2017
07:57:34
Не, я за приватность. Просто до сих пор думаю, что она должна была быть по-дефолту
Я так помню, что такое решение было принято после очень долгих споров простым подсчётом частоты использования. Оказалось, что паблик лидирует среди других видимостей. Так вот и решили, чтобы меньше кода писать

DarkMentat
15.09.2017
07:58:22
такой себе аргумент...(

? animufag ?
15.09.2017
08:26:01
На самом деле если всё норм делать с расчётом на тестирование то у тебя много мелких классов которые общаются между собой по пабликам. Ну и то что не задействовано в этом общении правильно подсвечивать чтобы было прайватом, чтобы коллеги не думали вызывать

Igor
15.09.2017
08:29:58
Только заметил, что иде начала подсвечивать, что метод может быть приватным. Ото сделали паблик по-дефолту, а теперь светят... Я один не понял мотивацию этого?
Я бы классы сделал интернал по умолчанию, как в C#. Наверное в Kotlin на это не пошли так на уровне JVM это не поддерживается нативно (а тут еще Java9 с его модулярность).

Mi
15.09.2017
08:31:43
в котлине просто нет понятия неймспейса

и интернал достаточно редко используется

Igor
15.09.2017
08:38:55
и интернал достаточно редко используется
Ну и зря, сколь лет в java либах костыли делая .intenal пакеты (с классами “запрещенные” к использованию). На десктопе все это решит jigsaw (если кто-то озаботится флаг поставить), а в android все также страдаем.

Quantum Harmonizer
15.09.2017
08:39:08
и интернал достаточно редко используется
ибо длинное ключевое слово и уродливое имя метода :)

Igor
15.09.2017
08:40:33
Напомни что там с неймспейсами (чем они от пакетов отличаются)?

Mi
15.09.2017
08:41:24
хотя бы тем, что в шарпе можно больше чем один класс засунуть в файл

Igor
15.09.2017
08:41:57
хотя бы тем, что в шарпе можно больше чем один класс засунуть в файл
В Kotlin тоже можно ? засунуть несколько публичных классов в файл (в отличие от java)

Google
Mi
15.09.2017
08:42:02
там есть такой блок как namespace MyNamespace {}

и внутри этого блока уже идут классы

и там уже библиотеки и классы через неймспейсы идентифицируются

хреново как-то объяснил

ну да ладно

Igor
15.09.2017
08:44:11
Ну разве что теор. можно больше одно неймспейса засунуть в файл, но так никто не делает

Mi
15.09.2017
08:46:56
неймспейс может быть не в одном файле

Лёша
15.09.2017
08:51:46
немного офтопа давно котлин позволяет писать так? enum class EClass{ FIRST, SECOND, THIRD, } давно я пропустил такую новость?

Sergey
15.09.2017
08:53:05
с самого начала?

оно скомпилируется вообще? запятая ж в конце стоит

скомпилируется, хм

Лёша
15.09.2017
08:54:48
компилируется специально в try.kotlin.org проверил сперва решил, что у меня какие-то неполадки)

Igor
15.09.2017
08:56:51
Что же ты так далеко ходишь, есть же @tryktbot ?

Лёша
15.09.2017
08:58:59
Igor
15.09.2017
09:06:36
А нельзя делать method reference на extenction-метод (с одним доп. параметром)?

А нельзя делать method reference на extenction-метод (с одним доп. параметром)?
Оказывется можно ?, только этот метод не должне быть внутри друго класса.

Mi
15.09.2017
09:08:07
Сниппет?

Lev
15.09.2017
09:44:07
Вместо base64 прилетает нечто вроде 68,34,54

что это?

Google
Quantum Harmonizer
15.09.2017
09:45:53
Вместо base64 прилетает нечто вроде 68,34,54
слишком мало контекста, но поохоже на текстовое прадставление массива байт

Сниппет?
ReceiverType::extension или receiver::extension, ядумаю

Lev
15.09.2017
09:50:31
Ага... отсылается некий... binary String или как то так

Назаров
15.09.2017
10:06:29
У кого-нибудь есть пример Parcelable data class?

Quantum Harmonizer
15.09.2017
10:07:12
Назаров
15.09.2017
10:07:46


В приватный конструктор нужно отправить значения из Parcel

Quantum Harmonizer
15.09.2017
10:08:22
у меня есть не дата-класс https://github.com/Miha-x64/Advanced-Kotlin-Patterns/blob/master/app/src/main/java/net/aquadc/advancedkotlinpatterns/feature/fragments/safe/FoodListFragment.kt#L79

ибо дата-классы вообще редко нужны, как я заметил

balolam
15.09.2017
10:09:59
В this() передавай)

Назаров
15.09.2017
10:10:07
Пора бы привыкнуть сначлаа обращаться к гуглу, а потом к людям ... 1 же ссылка https://stackoverflow.com/questions/33551972/is-there-a-convenient-way-to-create-parcelable-data-classes-in-android-with-kotl

Igor
15.09.2017
10:11:25
Нужен бот, который будет гуглить вопросы из чатика ?

Назаров
15.09.2017
10:12:12
Спасибо

Atlas
15.09.2017
10:43:25
Здравствуйте, кто-то здесь работал с даггером на котлин?

Alex
15.09.2017
10:43:45
Приветствую) Бывало) А в чем проблемы?)

Atlas
15.09.2017
10:44:52
В общем, подключаю в проект все зависимости, все, далее генерируется класс dagger component

но при повторном билде, ошибка компилятора вылетает

то есть он резолвит все

ничего не подчеркивает, все нормально, нажимаю "билд", все, отлетает с ошибкой в kapt

переписал класс-наследник от Application на java

Google
Atlas
15.09.2017
10:46:47
просто отваливается с javax ошибкой, не резолвит вообще класс, который должен сгенерироваться после ребилда

естественно, зависимости даггера исправил

перед этим

я когда решал первую проблему, менял и версии котлина и даггера

бесполезно

Alex
15.09.2017
10:48:18
А лог можно? Прост странное поведение.. Иногда при кодогенерации всякая хрень остается в кэше IDE. Можно попробовать сначала clean project сделать и invalidate caches and restart.

Atlas
15.09.2017
10:48:35
вот да, кеши я не сбрасывал

может поможет

сейчас отправлю

Назаров
15.09.2017
10:49:19
Было время, когда только clean project и помогал

balolam
15.09.2017
10:50:13
Пишу на Kotlin с Dagger и подобного поведения не встречал, даже клине не приходиться делать)

Atlas
15.09.2017
10:52:24
черт, как лог ошибки из сообщений посмотреть

вот сейчас сконфигурировал проект под котлин, вылезла

Error:Execution failed for task ':app:kaptDebugKotlin'. > Internal compiler error. See log for more details

это код класса-наследникка апликейшн

https://gist.github.com/aLT22/ccd784359af7a995786027eca5c78ff6

Oleg
15.09.2017
10:54:20
Попробуй так build.graddle (app) android { .... kapt { generateStubs=true } }

Atlas
15.09.2017
10:54:25
это билд.градл

https://gist.github.com/aLT22/42910a16e641aa54cd6e72a8448350b0

пробовал, не помогает

Google
Atlas
15.09.2017
10:54:46
но сейчас еще раз вставлю

Попробуй так build.graddle (app) android { .... kapt { generateStubs=true } }
я гуглил, до того, как написать сюда

все советы по типу такого легко гуглятся даже на 1 странице

но что-то не помогает

Oleg
15.09.2017
10:56:00
Oleg Bezhenar: Попробуй так build.graddle (app) apply plugin: "kapt" android { .... kapt { generateStubs=true } }

balolam
15.09.2017
10:56:16
но что-то не помогает
А ты посмотри логи билда

Oleg
15.09.2017
10:56:18
Пересобери проект

balolam
15.09.2017
10:56:34
Gradle Console - там будет написана ошибка

или место где ошибка и что не так

kapt { generateStubs=true } с новой версией так уже не нужно делать)

Atlas
15.09.2017
10:58:07
вот лог ошибки градл

https://gist.github.com/aLT22/3aacf4ea3821e949a81e10198b0e92db

понимаете, я сюда написал после многих мер

я не из тех, кто бежит сразу спрашивать

я вчера еще гуглил сто вариантов

и переписывал это все

несколько раз

и пересобирал и очищал

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