Size: a a a

Kotlin Community

2019 October 20

AO

Alexey Otts in Kotlin Community
Quantum Harmonizer
А нет способов кроме companion создать тип и инстанс с одним именем?
А разве val нельзя объявить с тем же именем?
источник

AE

Alexandr Emelyanov in Kotlin Community
Alexander Levin
Nested в данном контексте не при чём, поведение действительно довольно неочевидное.

UPD: Отбой, в джаве это работало у меня только из-за того, что protected ещё и package-private. При переносе в разные пакеты поведение стало одинаковым

Ну т.е. это не сверх очевидно, но по судя дела если мы для другого объекта обращаемся к protected, то нельзя сказать, что в контексте этого объекта мы обращаемся из subclass'а. Вроде поэтому и не разрешается так делать.
Я собственно по это и говорил, что подобное только в nested работать будет
источник

RM

Ruslan Molchanov in Kotlin Community
Котлин Комунити) Пользуясь случаем хочу прорекламировать Kotlin DSL для Telegram ботов: https://habr.com/ru/post/445072/
источник

AN

Alexander Nozik in Kotlin Community
Чего-то я сейчас какую-то очень странную багу словил.
class IOPlugin(meta: Meta) : AbstractPlugin(meta) {
   override val tag: PluginTag get() = Companion.tag
   companion object : PluginFactory<IOPlugin> {
        override val tag: PluginTag = PluginTag("io", group = PluginTag.DATAFORGE_GROUP)
   }

При попытке инициализации компаньена получают npe
источник

AN

Alexander Nozik in Kotlin Community
Сейчас попробую изолировать
источник

М

Михаил in Kotlin Community
Alexander Nozik
Сейчас попробую изолировать
А попробуй компанион обжект над проперти поставить)
источник

AN

Alexander Nozik in Kotlin Community
Михаил
А попробуй компанион обжект над проперти поставить)
Если пишу геттер вместо поля, все работает правильно
источник

AN

Alexander Nozik in Kotlin Community
А если вешаю JVMStatic, то вообще клэш имен получаю, но впрочем это как раз вроде правильно
источник

AN

Alexander Nozik in Kotlin Community
Михаил
А попробуй компанион обжект над проперти поставить)
та же фигня
источник

AN

Alexander Nozik in Kotlin Community
В поле компаньена Null
источник

AN

Alexander Nozik in Kotlin Community
Простой минимальный пример работает. Опять какая-то хрень с порядком инициализации
источник

AN

Alexander Nozik in Kotlin Community
Локализовал. Там был какой-то довольно дикий через 5 мест цикл в порядке инициализации в результате чего компаньен в одном месте использовался неинициализированным.
источник

Е

Ержан in Kotlin Community
Всем привет, такой вопрос, можно ли учить сразу котлин без джавы? под андроид
источник

AL

Alexander Levin in Kotlin Community
Ержан
Всем привет, такой вопрос, можно ли учить сразу котлин без джавы? под андроид
Привет. В чате много раз было, поэтому дискуссии можно найти поиском. Вкратце - своё первое приложение можете написать без Джавы. Но пока что Джава для андроида ещё нужна (много чего ещё написано на Джаве)
источник

AE

Alexandr Emelyanov in Kotlin Community
Интересно. Я похоже перепишу свой бот :)
источник

RM

Ruslan Molchanov in Kotlin Community
Alexandr Emelyanov
Интересно. Я похоже перепишу свой бот :)
❤️
источник

AM

Andrew Mikhaylov in Kotlin Community
Эх, самая интересная часть -- scripting -- осталась вне статьи :)
источник

RM

Ruslan Molchanov in Kotlin Community
Andrew Mikhaylov
Эх, самая интересная часть -- scripting -- осталась вне статьи :)
Принято) Дополню)
источник

Е

Ержан in Kotlin Community
Alexander Levin
Привет. В чате много раз было, поэтому дискуссии можно найти поиском. Вкратце - своё первое приложение можете написать без Джавы. Но пока что Джава для андроида ещё нужна (много чего ещё написано на Джаве)
Вакансии пересмотрел, приоритет kotlin пишут
источник

AN

Alexander Nozik in Kotlin Community
Ержан
Вакансии пересмотрел, приоритет kotlin пишут
В чем вопрос-то? Можно стартовать в котлин и потом поизучать специфку легаси АПИ на джаве. Вообще если речь про андроид, изучайте андроид. Язык там вторичен
источник