Size: a a a

Kotlin Community

2020 October 26

IP

Iaroslav Postovalov in Kotlin Community
Kirill Sinyuk
Менять язык проекта из-за такой мелочи немного радикально, кмк (:
ну вот я сейчас хаскель пробую из-за того, что надоела система типов котлина
источник

AN

Alexander Nozik in Kotlin Community
Kirill Sinyuk
Ребят, подскажите. Если использую when с параметром, то использовать этот параметр внутри блока нельзя? (А-ля it < 10 -> ... )
when(val it = something){
 it<0 ->
}
источник

AN

Alexander Nozik in Kotlin Community
Чего неправильные ответы выдаешь?
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Чего неправильные ответы выдаешь?
у меня в голове парсер 1.3.72
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
when(val it = something){
 it<0 ->
}
а для этой штуки вроде инспекция в свежем плагине есть
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Postovalov
у меня в голове парсер 1.3.72
Since Kotlin 1.3,
источник

IP

Iaroslav Postovalov in Kotlin Community
Iaroslav Postovalov
а для этой штуки вроде инспекция в свежем плагине есть
которая матчит
val it = expr
when {
 it < 0 -> expr2
}
источник

KS

Kirill Sinyuk in Kotlin Community
Alexander Nozik
when(val it = something){
 it<0 ->
}
нит. не работает 🙂
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
when(val it = something){
 it<0 ->
}
так нельзя
источник

с#

саша сок #KotlinGang... in Kotlin Community
when(val it = 0) {
    0 -> // OK
    it < 10 // Boolean found but Int required
}
источник

KS

Kirill Sinyuk in Kotlin Community
саша сок #KotlinGang
when(val it = 0) {
    0 -> // OK
    it < 10 // Boolean found but Int required
}
yep
источник

AN

Alexander Nozik in Kotlin Community
А, ну да. Это конкретно с типаами штука, там должен быть именно матч. Но при этом переменную внутрь передавать можно
источник

с#

саша сок #KotlinGang... in Kotlin Community
when(val it = 0) {
   0 -> /* */
   0..10 -> /* */
}

можно так
источник

с#

саша сок #KotlinGang... in Kotlin Community
можно сделать расширение чтобы

null..10 вело себя как < 10 или наоборот, чтобы 10..null вело себя как > 10
источник

KS

Kirill Sinyuk in Kotlin Community
да проще в else запихнуть if(... < 10)
хоть и выглядит похуже
источник

AN

Alexander Nozik in Kotlin Community
Kirill Sinyuk
да проще в else запихнуть if(... < 10)
хоть и выглядит похуже
угу
источник

с#

саша сок #KotlinGang... in Kotlin Community
Kirill Sinyuk
да проще в else запихнуть if(... < 10)
хоть и выглядит похуже
можно просто

val it = 0
when {
   it < 0 -> Unit
}
источник

KS

Kirill Sinyuk in Kotlin Community
неее
вот это уже будет чересчур, т.к. там ещё куча условий с конкретными числами.
придётсся везде переписать на 'it == 1'
источник

с#

саша сок #KotlinGang... in Kotlin Community
Kirill Sinyuk
неее
вот это уже будет чересчур, т.к. там ещё куча условий с конкретными числами.
придётсся везде переписать на 'it == 1'
ну вот да
источник

IP

Iaroslav Postovalov in Kotlin Community
Kirill Sinyuk
неее
вот это уже будет чересчур, т.к. там ещё куча условий с конкретными числами.
придётсся везде переписать на 'it == 1'
значит мой совет про шарп все еще актуален
источник