Size: a a a

Kotlin Community

2020 June 10

QH

Quantum Harmonizer in Kotlin Community
Mi
я собственно и хотел что-то такое сделать вместо деревьев, но нужен эскейп
а для эскейпа нужен writer ;)
источник

LS

Leonard Startsev in Kotlin Community
Такого метода вроде нет в публичном доступе (но есть в исходниках), а вообще совершенно верно — при вызове JsonObject.toString  и складывании его в другой JsonObject, toString последнего должен правильно его заэскейпить
источник

M

Mi in Kotlin Community
Может тогда можно обойтись?
"a": "${JsonLiteral(stringToEscape)}"
источник

M

Mi in Kotlin Community
судя по исходникам должно сработать
источник

MT

Maxim Ternovtsi in Kotlin Community
Не подскажите, как это идиоматично переписать?
источник

M

Mi in Kotlin Community
Maxim Ternovtsi
Не подскажите, как это идиоматично переписать?
this?.let { "${...}" }
источник

MT

Maxim Ternovtsi in Kotlin Community
@meosit так и хотел, только apply/also вместо let
источник

VS

Vladimir Sitnikov in Kotlin Community
Maxim Ternovtsi
Не подскажите, как это идиоматично переписать?
fun String.toAvatarLink() = "${ServerConstants.AVATAR}this"

или

val String.avatarLink: String get() = "${ServerConstants.AVATAR}this"
источник

MT

Maxim Ternovtsi in Kotlin Community
@vladimirsitnikv this может быть null
источник

AM

Andrew Mikhaylov in Kotlin Community
Maxim Ternovtsi
@vladimirsitnikv this может быть null
Так а что вам мешает по месту использовать safe call? Я тоже не совсем понял суть этой манипуляции.
источник

AM

Andrew Mikhaylov in Kotlin Community
Если б у вас было какой-то отличный от null дефолт на случай null ресивера, ещё ладно. А так...
источник

MT

Maxim Ternovtsi in Kotlin Community
Строка "${ServerConstants.AVATAR}this" вернет «http::blabla/null»
источник

VS

Vladimir Sitnikov in Kotlin Community
Maxim Ternovtsi
Строка "${ServerConstants.AVATAR}this" вернет «http::blabla/null»
Ещё раз: объявляем функцию на non-nullable String.

fun String.toAvatarLink() = "$

А вызов будет выглядеть так:
val abc: String? = null
println(abc?.toAvatarLink())
источник

VS

Vladimir Sitnikov in Kotlin Community
Andrew Mikhaylov
Так а что вам мешает по месту использовать safe call? Я тоже не совсем понял суть этой манипуляции.
Надо бы compiler warning запилить на эту тему: «у вас extension на nullable возвращает null, не надо так делать»
источник

AM

Andrew Mikhaylov in Kotlin Community
Maxim Ternovtsi
Строка "${ServerConstants.AVATAR}this" вернет «http::blabla/null»
источник

AM

Andrew Mikhaylov in Kotlin Community
Вы спросили, как идиоматично — на мой взгляд, идиоматично не делать экстеншн на nullable там, где safe call на месте вызова справится. Дальше сами решайте, конечно :)
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Sitnikov
Надо бы compiler warning запилить на эту тему: «у вас extension на nullable возвращает null, не надо так делать»
Во-первых, фиг все случаи отловишь, во-вторых, это КМК задача линтера, а не компилятора :)
источник

MT

Maxim Ternovtsi in Kotlin Community
Здесь же возвращается «null» а не null
источник

AM

Andrew Mikhaylov in Kotlin Community
Maxim Ternovtsi
Здесь же возвращается «null» а не null
Там четыре вызова, в котором из них вам "null" чудится?
источник

MT

Maxim Ternovtsi in Kotlin Community
Andrew Mikhaylov
Там четыре вызова, в котором из них вам "null" чудится?
Я тупой просто, разобрался спасибо
источник