Size: a a a

Clojure — русскоговорящее сообщество

2020 July 17

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
та лаадно
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
а ты можешь сматчить второй случай? он же по конструктору матчит, как стринг раскрывается? String("hello")?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Kostyantin Randomname
а ты можешь сматчить второй случай? он же по конструктору матчит, как стринг раскрывается? String("hello")?
Не совсем понял, по этим кейсам он матчит
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Как матчинг устроен я прочитал, у класса String нет unapply
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
хм, ты матчишь не по кейс классу
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ну да, он совсем не умеет по другому?
источник

Д

Диёр in Clojure — русскоговорящее сообщество
Mikhail Borisov
Но у меня опять компилятор не видит проблем вот в таком простом случае:

def stringMatching(x: String): String = x match {
   case "hello" => "fuck you"
   case "wow" => "fuck off"
}
strict-unsealed-patmat в опции добавить
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ща прочекаю, почему-то блин гуглится это хреново
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Диёр
strict-unsealed-patmat в опции добавить
Может быть такое, что dotty не умеет в такие опции?
источник

Д

Диёр in Clojure — русскоговорящее сообщество
вполне
источник

Д

Диёр in Clojure — русскоговорящее сообщество
проще у профильных скалистов спросить
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
"-Xlint:strict-unsealed-patmat" вот это я добавил
источник

Д

Диёр in Clojure — русскоговорящее сообщество
да, там варнинг должен вылезать
источник

Д

Диёр in Clojure — русскоговорящее сообщество
и ещё как-то его можно было из варнинга в ерроры вытащить, но я уже не помню как
источник

Д

Диёр in Clojure — русскоговорящее сообщество
но короче это из коробки не работает
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
это я тоже сделал
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
на силд штуках работает
источник

A

Aleksey @cheatex in Clojure — русскоговорящее сообщество
Mikhail Borisov
Но у меня опять компилятор не видит проблем вот в таком простом случае:

def stringMatching(x: String): String = x match {
   case "hello" => "fuck you"
   case "wow" => "fuck off"
}
Он проверяет тотальность только для sealed классов. Это 1 из типа 10ка способов записать паттерн. Так что для душевного спокойствия стоит по умолчанию завершать _ => ....
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Aleksey @cheatex
Он проверяет тотальность только для sealed классов. Это 1 из типа 10ка способов записать паттерн. Так что для душевного спокойствия стоит по умолчанию завершать _ => ....
А можно каким-нибудь линтером или чем-то еще заставлять этот дефолтный кейс писать, когда компилятор не проверил на тотальность?
источник

A

Aleksey @cheatex in Clojure — русскоговорящее сообщество
Mikhail Borisov
А можно каким-нибудь линтером или чем-то еще заставлять этот дефолтный кейс писать, когда компилятор не проверил на тотальность?
В идее ворнинг был, его можно поднять в ранг еррора в нстройках. хз что там по линтерам, я лет 7 как не настоящий сваршик.
источник