Size: a a a

Elm Lang сообщество разработчиков

2020 May 14

AB

Andrew Brighton in Elm Lang сообщество разработчиков
привет всем
а есть какой-то способ case of дробить на части
например у меня есть тип с 6-ю значениями, 3 обработать в одном, а 3 остальных в другом?
источник

AB

Andrew Brighton in Elm Lang сообщество разработчиков
когда caseof описываешь, описал там 2-3 вхождения, а остальные скормил функции, которая с ними разобралась
источник

аа

аа ааа in Elm Lang сообщество разработчиков
A -> ...
B -> ...
_ -> f msg
источник

AB

Andrew Brighton in Elm Lang сообщество разработчиков
аа ааа
A -> ...
B -> ...
_ -> f msg
он попросит в f описать кейсы для A и B
источник

аа

аа ааа in Elm Lang сообщество разработчиков
можно в f сделать дыру тоже
источник

AB

Andrew Brighton in Elm Lang сообщество разработчиков
дыру? заглушки типо?
источник

аа

аа ааа in Elm Lang сообщество разработчиков
ну
источник

AB

Andrew Brighton in Elm Lang сообщество разработчиков
ну это звучит как котыль)
источник

аа

аа ааа in Elm Lang сообщество разработчиков
Что поделать
источник

аа

аа ааа in Elm Lang сообщество разработчиков
елм
источник
2020 May 15

YK

Yuri Kostin in Elm Lang сообщество разработчиков
аа ааа
елм
Как же тоскливо это звучит
источник

MP

Max P in Elm Lang сообщество разработчиков
Andrew Brighton
привет всем
а есть какой-то способ case of дробить на части
например у меня есть тип с 6-ю значениями, 3 обработать в одном, а 3 остальных в другом?
Сделать два типа по 3 значения ?
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Вы либо убеждаете компилятор, что всё предусмотрели, либо дебажите потом вашу лапшу
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Не нужно разбивать case, но можно вынести тела клозов
case foo of
 A -> bar ...
 B -> bar ...
 C -> baz ...
 D -> baz ...
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
А вообще один тип-сумма должен разбираться в одном месте, ящитаю
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
(компилятор тоже так считает)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Если у вас действительно логически разделены наборы значений, то это должны быть разные типы
Either (A | B) (C | D)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Cat | Dog | Apple | Mary — точно плохой тип в большинстве случаев
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
аа ааа
елм
А разве где-то ещё такое возможно? Насколько я понимаю в хаскеле точно так же
источник

RT

Roman Truschev in Elm Lang сообщество разработчиков
Andrew Brighton
привет всем
а есть какой-то способ case of дробить на части
например у меня есть тип с 6-ю значениями, 3 обработать в одном, а 3 остальных в другом?
Так а простой if тут не подойдёт ?
источник