Size: a a a

Kotlin Community

2020 March 30

IA

Ilgiz Akhmedzhanov in Kotlin Community
Привет! Я ничего не разрабатываю, а тут проездом.
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
Неа, просто передаю общую идею о том, что дать минимум информации и тащить в личку не классно.
+
источник

AN

Alexander Nozik in Kotlin Community
Aleksandr
@Harmonizr @mgadzhi @Oo_p69
Разрабатываю программу для автоматизации работы с API. Это включает в себя: Отслеживание изменения, состовление отчетов,поддержка API, улучшение коммуникации среди комманд
Если оно на котлин, пишите сюда, обсудим. Если нет, то мимо.
источник

BP

Bogdan Panchenko in Kotlin Community
Alex Wells
interface Interface {

}

@kotlinx.serialization.Serializable
sealed class SimpleSealed: Interface {
   @kotlinx.serialization.Serializable
   public data class SubSealedA(val s: String) : SimpleSealed()

   @kotlinx.serialization.Serializable
   public data class SubSealedB(val i: Int) : SimpleSealed()
}



val messageModule = SerializersModule {
           polymorphic(Interface::class) {
               SimpleSealed::class with SimpleSealed.serializer()
               SimpleSealed.SubSealedA::class with SimpleSealed.SubSealedA.serializer()
               SimpleSealed.SubSealedB::class with SimpleSealed.SubSealedB.serializer()
           }
       }

       val json = Json(JsonConfiguration.Stable.copy(classDiscriminator = "nodeType"), context = messageModule)
       val j = json.stringify(PolymorphicSerializer(Interface::class), SimpleSealed.SubSealedA("foo"))
       println(j)
       println(json.parse(PolymorphicSerializer(Interface::class), j))

Почему оно не стягивает sealed и не работает без указания вручную всех реализаций силда? И.е. это - не нужно, если я сериализую SimpleSealed``SimpleSealed.serializer()'ом, но почему-то вдруг нужно когда сериализую полиморфный интерфейс?
SimpleSealed.SubSealedA::class with SimpleSealed.SubSealedA.serializer()
SimpleSealed.SubSealedB::class with SimpleSealed.SubSealedB.serializer()

Или я опять чего-то не понимаю?)
источник

AW

Alex Wells in Kotlin Community
источник

AW

Alex Wells in Kotlin Community
ну как по мне логично, что у каждого класса есть свой сериалайзер, и все должно зависеть от него
источник

AW

Alex Wells in Kotlin Community
Alex Wells
interface Interface {

}

@kotlinx.serialization.Serializable
sealed class SimpleSealed: Interface {
   @kotlinx.serialization.Serializable
   public data class SubSealedA(val s: String) : SimpleSealed()

   @kotlinx.serialization.Serializable
   public data class SubSealedB(val i: Int) : SimpleSealed()
}



val messageModule = SerializersModule {
           polymorphic(Interface::class) {
               SimpleSealed::class with SimpleSealed.serializer()
               SimpleSealed.SubSealedA::class with SimpleSealed.SubSealedA.serializer()
               SimpleSealed.SubSealedB::class with SimpleSealed.SubSealedB.serializer()
           }
       }

       val json = Json(JsonConfiguration.Stable.copy(classDiscriminator = "nodeType"), context = messageModule)
       val j = json.stringify(PolymorphicSerializer(Interface::class), SimpleSealed.SubSealedA("foo"))
       println(j)
       println(json.parse(PolymorphicSerializer(Interface::class), j))

Почему оно не стягивает sealed и не работает без указания вручную всех реализаций силда? И.е. это - не нужно, если я сериализую SimpleSealed``SimpleSealed.serializer()'ом, но почему-то вдруг нужно когда сериализую полиморфный интерфейс?
SimpleSealed.SubSealedA::class with SimpleSealed.SubSealedA.serializer()
SimpleSealed.SubSealedB::class with SimpleSealed.SubSealedB.serializer()

Или я опять чего-то не понимаю?)
и в этом случае, опять же следуя логике, PolymorphicSerializer() используется для Interface, а для SimpleSealed я указал SimpleSealed.serializer(), который и так умеет работать со всем остальным
источник

BP

Bogdan Panchenko in Kotlin Community
блин*, я у тебя интерфейс не увидел
источник

AW

Alex Wells in Kotlin Community
Bogdan Panchenko
блин*, я у тебя интерфейс не увидел
interface Interface

@kotlinx.serialization.Serializable
sealed class SimpleSealed: Interface

м?
источник

BP

Bogdan Panchenko in Kotlin Community
Alex Wells
interface Interface

@kotlinx.serialization.Serializable
sealed class SimpleSealed: Interface

м?
да, форматирование телеге так себе
источник
2020 March 31

BV

Boris Vanin in Kotlin Community
А нету случаем в стдлибе функции, которая принимает варарг объектов и применяет к ним лямбду из последнего параметра?
источник

BV

Boris Vanin in Kotlin Community
Вместо listOf().forEach {}
источник

RE

Roman Elizarov in Kotlin Community
Нет.
источник

BV

Boris Vanin in Kotlin Community
Спс
источник

Y

Yanis in Kotlin Community
Всем привет, вопрос по корутинам.
Есть у меня некий класс с suspend функцией
И вот кто-то вызывает эту suspend функцию, я бы хотел внутри нее прихранить текущий coroutineScope чтобы другие функции могли им же пользоваться
Такое вообще возможно?
источник

OY

Oleg Yukhnevich in Kotlin Community
Boris Vanin
А нету случаем в стдлибе функции, которая принимает варарг объектов и применяет к ним лямбду из последнего параметра?
вроде где-то issue на это есть
источник

OY

Oleg Yukhnevich in Kotlin Community
Boris Vanin
А нету случаем в стдлибе функции, которая принимает варарг объектов и применяет к ним лямбду из последнего параметра?
источник

BV

Boris Vanin in Kotlin Community
Спасибо, голосанул
источник

BV

Boris Vanin in Kotlin Community
Вообще такие штуки перманентно нужны, особенно в дсл и скриптах
источник

VP

Vladimir Petrakovich in Kotlin Community
А listOf().forEach {} плох тем, что есть лишнее слово?
источник