Size: a a a

Kotlin Community

2020 December 09

AP

Anton Potekhin in Kotlin Community
Есть простой вопрос. Можно ли более коротко записать вот это:

fun a() = calculateA().let {
    cachedAValue = it
    it
}
источник

PE

Pavel Erokhin in Kotlin Community
fun a() = calculateA().also {
    cachedAValue = it
}
источник

D

Denys in Kotlin Community
Revamped Kotlin Documentation – Give It a Try

Enable new docs - https://kotlinlang.org/api/beta/enabled (sets DOCS_ENGINE cookie, clear to revert)
источник

D

Denys in Kotlin Community
😍
источник

AA

Anton Arhipov in Kotlin Community
Denys
😍
нравится?
источник

D

Denys in Kotlin Community
Anton Arhipov
нравится?
Стиль знакомый из Ktor документации. Скорее нравится то, что Kotlin экосистема модернизируется.

Есть ли планы на ревамп play.kotlin?
источник

AA

Anton Arhipov in Kotlin Community
> Есть ли планы на ревамп play.kotlin?

да. но пока в только в планах
источник

D

Denys in Kotlin Community
Anton Arhipov
> Есть ли планы на ревамп play.kotlin?

да. но пока в только в планах
👍
источник

D

Denys in Kotlin Community
Anton Arhipov
> Есть ли планы на ревамп play.kotlin?

да. но пока в только в планах
А по лендингу баги куда можно написать? В основной трекер?
источник

AA

Anton Arhipov in Kotlin Community
Denys
А по лендингу баги куда можно написать? В основной трекер?
Да
источник

Д

Денис in Kotlin Community
подскажите, как можно заставить работать такую конструкцию?

interface EffectHandler {
   suspend fun call(effect: Effect): Message
   suspend fun<T> call(effect: T) : Flow<Message> where
           T: Effect,
           T: FlowEffect
}

вылетает ошибка что в jvm эти методы имеют одинаковую сигнатуру
источник

PE

Pavel Erokhin in Kotlin Community
Ну да, одинаковую, за исключением, если ты передашь объект FlowEffect
источник

Д

Денис in Kotlin Community
то есть тут надо по любом разные имена методам давать?
источник

PE

Pavel Erokhin in Kotlin Community
как можно заставить работать такую конструкцию?

Поменяй название у второго метода
источник

PE

Pavel Erokhin in Kotlin Community
Денис
то есть тут надо по любом разные имена методам давать?
Да, именно
источник

Д

Денис in Kotlin Community
ок, понял. спасибо
источник

OY

Oleg Yukhnevich in Kotlin Community
Денис
подскажите, как можно заставить работать такую конструкцию?

interface EffectHandler {
   suspend fun call(effect: Effect): Message
   suspend fun<T> call(effect: T) : Flow<Message> where
           T: Effect,
           T: FlowEffect
}

вылетает ошибка что в jvm эти методы имеют одинаковую сигнатуру
можно ещё попробовать повесить аннотацию JvmName("call2") - но я не уверен, что сработает в данном случае
источник

Д

Денис in Kotlin Community
Oleg Yukhnevich
можно ещё попробовать повесить аннотацию JvmName("call2") - но я не уверен, что сработает в данном случае
Та это не критично в принципе, просто странно что сигнатура одинаковая считается хотя там разные то типы по сути
источник

PE

Pavel Erokhin in Kotlin Community
нет, ты когда вызываешь и передаешь аргумент типа Effect то откуда знать IDE что ты из этих двоих методов хочешь вызвать
источник

PE

Pavel Erokhin in Kotlin Community
ибо оба называются одинаково и оба примут Effect
источник