Size: a a a

Kotlin Community

2020 September 09

NT

Nurseyit Tursunkulov in Kotlin Community
Eugene P.
Может скоуп прибит, из которого вызывается метод observeA?
proboval ne poluchilos'
источник

EP

Eugene P. in Kotlin Community
Nurseyit Tursunkulov
proboval ne poluchilos'
В смысле, пробовали? Добавьте больше логов в метод который постит value, а в observeA добавьте onCompletion или как он там называется
источник

IP

Iaroslav Postovalov in Kotlin Community
в чем, собственно, разница между
const val X = ""

и
inline val X get() = ""

?
источник

IP

Iaroslav Postovalov in Kotlin Community
Iaroslav Postovalov
в чем, собственно, разница между
const val X = ""

и
inline val X get() = ""

?
кроме интеропа
источник

АО

Алексей Овсянников... in Kotlin Community
Формально - никакой, по-факту, думаю, под капотом это будет по-разному обрабатываться во время компиляции
источник

АО

Алексей Овсянников... in Kotlin Community
Ну то есть как результат вы получите подстановку "" во всех местах вызова любого из вариантов
источник

IP

Iaroslav Postovalov in Kotlin Community
Алексей Овсянников
Ну то есть как результат вы получите подстановку "" во всех местах вызова любого из вариантов
ну вот если не говорить про интероп, то const val - избыточная конструкция
источник

АО

Алексей Овсянников... in Kotlin Community
А причем тут интероп?
источник

IP

Iaroslav Postovalov in Kotlin Community
Алексей Овсянников
А причем тут интероп?
а inline val в джаве доступен как геттер, а не как public static final...
источник

АО

Алексей Овсянников... in Kotlin Community
Iaroslav Postovalov
ну вот если не говорить про интероп, то const val - избыточная конструкция
const val имеет четкую структуру - вы не сможете положить туда вещи, которые вычисляюся вне компил-тайма, в то время как в инлайн проперти - сможете
источник

АО

Алексей Овсянников... in Kotlin Community
Разница в том, что для инлайн проперти каждый раз будет полностью подставляться тело геттера, в то время как для константы - вычисленное значение
источник

IP

Iaroslav Postovalov in Kotlin Community
Алексей Овсянников
Разница в том, что для инлайн проперти каждый раз будет полностью подставляться тело геттера, в то время как для константы - вычисленное значение
а, я не учел, что у const'а можно делать const val x=1+1
источник

АО

Алексей Овсянников... in Kotlin Community
Iaroslav Postovalov
а inline val в джаве доступен как геттер, а не как public static final...
Ну так и константа представляется в джаве не как public static final
источник

IP

Iaroslav Postovalov in Kotlin Community
Алексей Овсянников
Ну так и константа представляется в джаве не как public static final
пруфы?
источник

АО

Алексей Овсянников... in Kotlin Community
Iaroslav Postovalov
а, я не учел, что у const'а можно делать const val x=1+1
И подставляться будет не 1+1 по месту вызова (как с инлайном), а 2
источник

OS

Oleg Sinelnikov in Kotlin Community
Iaroslav Postovalov
в чем, собственно, разница между
const val X = ""

и
inline val X get() = ""

?
источник

IP

Iaroslav Postovalov in Kotlin Community
ну вот я ж написал про интероп
источник

АО

Алексей Овсянников... in Kotlin Community
источник

АО

Алексей Овсянников... in Kotlin Community
там, правда, не разжевано, но тем не менее - там константа используется как значение аннотации, что с обычной переменной вы просто не проделаете - насколько я помню, в аннотации нельзя положить значения, которые не вычисляются в компил-тайме
источник

АО

Алексей Овсянников... in Kotlin Community
на крайняк - поковыряйте байткод:)
источник