Size: a a a

Kotlin Community

2020 March 12

BV

Boris Vanin in Kotlin Community
Хотя бы примерно понятно накой
источник

BV

Boris Vanin in Kotlin Community
С летами и другими уже всё несколько хуже
источник

I

Igor in Kotlin Community
Проблема с exhaustive что у него скоуп всех типов

"".exhaustive
println("hell").exhaustive
источник

BV

Boris Vanin in Kotlin Community
Igor
Проблема с exhaustive что у него скоуп всех типов

"".exhaustive
println("hell").exhaustive
Разве ж это проблема? Это скорее особенность 😁
источник

VP

Vladimir Petrakovich in Kotlin Community
Igor
Проблема с exhaustive что у него скоуп всех типов

"".exhaustive
println("hell").exhaustive
Повесь на Unit
источник

BV

Boris Vanin in Kotlin Community
Vladimir Petrakovich
Повесь на Unit
Только там может быть и не юнит
источник

VP

Vladimir Petrakovich in Kotlin Community
То чувство, когда в джаве этот кейс покрыт 😐
источник

AM

Andrew Mikhaylov in Kotlin Community
Igor
Проблема с exhaustive что у него скоуп всех типов

"".exhaustive
println("hell").exhaustive
Пиши компайлер плагин, который будет считать твой exhaustive на всём, кроме when-ов, ошибкой 🌚
источник

VP

Vladimir Petrakovich in Kotlin Community
Boris Vanin
Только там может быть и не юнит
Ну это скорее редкий случай
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
Ну это скорее редкий случай
Неправда
источник

AM

Andrew Mikhaylov in Kotlin Community
Любое выражение в  конце любой ветки when, которое окажется не юнитом, всё сломает же.
источник

VP

Vladimir Petrakovich in Kotlin Community
Andrew Mikhaylov
Любое выражение в  конце любой ветки when, которое окажется не юнитом, всё сломает же.
Хм, наверное 🤔
источник

BV

Boris Vanin in Kotlin Community
Да, боюсь, что редкость этого случая под сомнением
источник

VP

Vladimir Petrakovich in Kotlin Community
Но всё равно там скорее будут действия без возвращаемого значения
источник

IK

Igor Komarov in Kotlin Community
Страшная штука. Но практика показывает, что when используется в основном в однострочных функциях, где как-раз идет return type, и компилятор будет негодовать если чет пропустим. А так – прикольно. Но было-бы приятнее синтаксисом языка разделить бы случаи exhaustive и non-exhaustive when
источник

IK

Igor Komarov in Kotlin Community
Тоже кстати по when-else вопрос: делал ли кто-то у себя поддержку паттерн-матчинга? Насколько лаконично вышло, и какой подход использовали?
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
Но всё равно там скорее будут действия без возвращаемого значения
Да какой-нибудь ++i или функция не с юнитом в конце ветки -- и до свидания.
источник

IK

Igor Komarov in Kotlin Community
В свое время попробовал добавить, вышло офигенно жирно.
источник

I

Igor in Kotlin Community
Лол, чуть чуть не дотянул до юбилея) https://t.me/kotlin_lang/8839
источник

VP

Vladimir Petrakovich in Kotlin Community
Andrew Mikhaylov
Да какой-нибудь ++i или функция не с юнитом в конце ветки -- и до свидания.
; Unit спасёт
Но конечно тоже выглядит так себе
источник