Size: a a a

Kotlin Community

2020 October 12

D

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

D

Denys in Kotlin Community
Будут переводы :)
> Translate documentation to other languages
источник

IP

Iaroslav Postovalov in Kotlin Community
Denys
Будут переводы :)
> Translate documentation to other languages
вообще, со стороны jb было бы правильно создать проект на crowdin каком-нибудь для крауд-транслейта
источник

IP

Iaroslav Postovalov in Kotlin Community
если им это нужно
источник

D

Denys in Kotlin Community
Iaroslav Postovalov
вообще, со стороны jb было бы правильно создать проект на crowdin каком-нибудь для крауд-транслейта
А не, там написали, что переводите, но это не официально :)
источник

IP

Iaroslav Postovalov in Kotlin Community
Denys
А не, там написали, что переводите, но это не официально :)
ну дык вот именно что
источник

D

Denys in Kotlin Community
Мне кажется, это low-impact деятельность, в целом.
источник

IP

Iaroslav Postovalov in Kotlin Community
Denys
Мне кажется, это low-impact деятельность, в целом.
ну не совсем
источник

IP

Iaroslav Postovalov in Kotlin Community
много людей английский очень даже не знают. даже в IT
источник

D

Denys in Kotlin Community
Iaroslav Postovalov
ну не совсем
Для новичков разве что
источник

VP

Vladimir Petrakovich in Kotlin Community
Iaroslav Postovalov
много людей английский очень даже не знают. даже в IT
Тяжело им будет в любом случае
источник

AN

Alexander Nozik in Kotlin Community
Denys
Мне кажется, это low-impact деятельность, в целом.
Если посмотреть на вопросы в старте, то нет. Хотя мне тоже кажется, что сначала надо английский учить
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
Если посмотреть на вопросы в старте, то нет. Хотя мне тоже кажется, что сначала надо английский учить
Осталось это китайцам, к примеру, объяснить. /s
источник

KG

Kirill Gamazkov in Kotlin Community
Нужна помощь знатоков знатоков корутин.
Есть внешняя Java APIшка на коллбэках. Выглядит примерно так:
interface UserCallbacks {
   fun onSomeMessage(msg: SomeType)
   fun onOtherMessage(msg: OtherType)
}

class LibraryApi(callbacks: UserCallbacks) {
   fun parse(msg: Array<Byte>)
}
Разумеется, никаким suspend-ом там не пахнет, ибо джава. Поэтому так просто это в корутины не протащить. Код типа такого:
suspend fun parse(msg: Array<Byte>): MessageBaseType {
   return suspendCoroutine { cont ->
       val callbacks = object: UserCallbacks {
           override fun onSomeMessage(msg: SomeMessage) {                 cont.complete(msg) }
       }
       new LibraryApi(callbacks).parse(msg)
   }
}
так просто не скомпилится, компилятору не нравится вызов suspend-функции complete изнутри не-suspend API

Вопрос: есть ли способ пообещать компилятору "мамой клянусь, эту не-suspend функцию можно вызвать внутри suspend, там ни переключения потоков, ни IO, ни сложных вычислений"?
источник

D

Denys in Kotlin Community
Для чтения документации крутого уровня не нужно. Проблема с зоной комфорта, скорее всего.
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Осталось это китайцам, к примеру, объяснить. /s
У китайцев там отдельная программа
источник

D

Denys in Kotlin Community
Andrew Mikhaylov
Осталось это китайцам, к примеру, объяснить. /s
Они свою доку напишут, будем ёё на англиский переводить
источник

AH

Ayrat Hudaygulov in Kotlin Community
Kirill Gamazkov
Нужна помощь знатоков знатоков корутин.
Есть внешняя Java APIшка на коллбэках. Выглядит примерно так:
interface UserCallbacks {
   fun onSomeMessage(msg: SomeType)
   fun onOtherMessage(msg: OtherType)
}

class LibraryApi(callbacks: UserCallbacks) {
   fun parse(msg: Array<Byte>)
}
Разумеется, никаким suspend-ом там не пахнет, ибо джава. Поэтому так просто это в корутины не протащить. Код типа такого:
suspend fun parse(msg: Array<Byte>): MessageBaseType {
   return suspendCoroutine { cont ->
       val callbacks = object: UserCallbacks {
           override fun onSomeMessage(msg: SomeMessage) {                 cont.complete(msg) }
       }
       new LibraryApi(callbacks).parse(msg)
   }
}
так просто не скомпилится, компилятору не нравится вызов suspend-функции complete изнутри не-suspend API

Вопрос: есть ли способ пообещать компилятору "мамой клянусь, эту не-suspend функцию можно вызвать внутри suspend, там ни переключения потоков, ни IO, ни сложных вычислений"?
источник

AN

Alexander Nozik in Kotlin Community
Kirill Gamazkov
Нужна помощь знатоков знатоков корутин.
Есть внешняя Java APIшка на коллбэках. Выглядит примерно так:
interface UserCallbacks {
   fun onSomeMessage(msg: SomeType)
   fun onOtherMessage(msg: OtherType)
}

class LibraryApi(callbacks: UserCallbacks) {
   fun parse(msg: Array<Byte>)
}
Разумеется, никаким suspend-ом там не пахнет, ибо джава. Поэтому так просто это в корутины не протащить. Код типа такого:
suspend fun parse(msg: Array<Byte>): MessageBaseType {
   return suspendCoroutine { cont ->
       val callbacks = object: UserCallbacks {
           override fun onSomeMessage(msg: SomeMessage) {                 cont.complete(msg) }
       }
       new LibraryApi(callbacks).parse(msg)
   }
}
так просто не скомпилится, компилятору не нравится вызов suspend-функции complete изнутри не-suspend API

Вопрос: есть ли способ пообещать компилятору "мамой клянусь, эту не-suspend функцию можно вызвать внутри suspend, там ни переключения потоков, ни IO, ни сложных вычислений"?
Надо сделать на однократный колбэк или на регулярный?
источник

KG

Kirill Gamazkov in Kotlin Community
Alexander Nozik
Надо сделать на однократный колбэк или на регулярный?
В идеале регулярный, и это отдельная проблема (постоянно в объекте колбэков поле менять?)
источник