Size: a a a

Kotlin Community

2020 December 31

с#

саша сок #KotlinGang... in Kotlin Community
а вот тут как быть, вроде конструктор вызываться раньше инициализации должен (дело тут не в делегатах, dcId = storage.dcId с такой же ошибкой).
я могу это сделать через primary конструктор, но это будет плохое решение.
источник

IP

Iaroslav Postovalov in Kotlin Community
саша сок #KotlinGang
а вот тут как быть, вроде конструктор вызываться раньше инициализации должен (дело тут не в делегатах, dcId = storage.dcId с такой же ошибкой).
я могу это сделать через primary конструктор, но это будет плохое решение.
ну lateinit var тогда на свой страх и риск
источник

SB

Sergey Barmin in Kotlin Community
А конструктор класса где?)
источник

IP

Iaroslav Postovalov in Kotlin Community
Sergey Barmin
А конструктор класса где?)
так там на скрине оба
источник

IP

Iaroslav Postovalov in Kotlin Community
в котлине можно не объявлять primary constructor
источник

SB

Sergey Barmin in Kotlin Community
Точно? Раньше не давало
источник

с#

саша сок #KotlinGang... in Kotlin Community
Iaroslav Postovalov
так там на скрине оба
угу
источник

IP

Iaroslav Postovalov in Kotlin Community
Sergey Barmin
Точно? Раньше не давало
эм, всегда давало
источник

SB

Sergey Barmin in Kotlin Community
Хм
источник

с#

саша сок #KotlinGang... in Kotlin Community
о, я придумал, я сделаю приватный primary конструктор куда буду storage передавать. но тем не менее, почему нельзя?
источник

SB

Sergey Barmin in Kotlin Community
Тогда странно
источник

SB

Sergey Barmin in Kotlin Community
саша сок #KotlinGang
о, я придумал, я сделаю приватный primary конструктор куда буду storage передавать. но тем не менее, почему нельзя?
А это фиксит проблему?
источник

SB

Sergey Barmin in Kotlin Community
Как я часто замечал, используют private primary + companion object operator fun invoke в нужной форме
источник

с#

саша сок #KotlinGang... in Kotlin Community
Sergey Barmin
А это фиксит проблему?
да 😄
причём если не проинициализировать переменную везде, то будет ошибка "variable must be abstract or be initialized", то есть котлин понимает, что она инициализирована
источник

с#

саша сок #KotlinGang... in Kotlin Community
Sergey Barmin
Как я часто замечал, используют private primary + companion object operator fun invoke в нужной форме
обычно для инлайнов так делают
источник

AN

Alexander Nozik in Kotlin Community
Sergey Barmin
Точно? Раньше не давало
Можно не объявлять если он не используется. Его обязательно объявлять если он наследуется
источник

АА

Азамат Абдилов... in Kotlin Community
Всем привет, подскажите как можно оптимизировать?
val aggregate = BoardAggregate(            
           if (!boardDto.cameraAvailable) {
               boardDto.zoneOfPerception
           } else boardDto.zoneOfPerception ?: defaultZoneOfPerception
)
источник

PE

Pavel Erokhin in Kotlin Community
val aggregate = BoardAggregate(
   if (!boardDto.cameraAvailable) {
       boardDto.zoneOfPerception
   } else {
       boardDto.zoneOfPerception ?: defaultZoneOfPerception
   }
)

вот так
источник

АА

Азамат Абдилов... in Kotlin Community
Pavel Erokhin
val aggregate = BoardAggregate(
   if (!boardDto.cameraAvailable) {
       boardDto.zoneOfPerception
   } else {
       boardDto.zoneOfPerception ?: defaultZoneOfPerception
   }
)

вот так
Я ожидал уменьшения количества строк. Вопрос не так поставил. Сам разобрался.
источник

АА

Азамат Абдилов... in Kotlin Community
Спасибо
источник