Dr. Friedrich
А, там было .id
Doge
Dr. Friedrich
Dr. Friedrich
Как в жаве, публичные поля интовые?
Doge
Обьявляй ADT
Romɑn
@DogeShibu расскажи лучше юзкейс для match types? я пример видел, но ничего не понял
Dr. Friedrich
Ну, не то чтобы очень, а просто не круто
Dr. Friedrich
https://dotty.epfl.ch/docs/reference/enums/enums.html#implementation собстно тут вот написано, что в скале энумы норм!
Dr. Friedrich
Ну, почти
Dr. Friedrich
Номер есть у них, уже хорошо
Dr. Friedrich
И по дефолту sealed, что тоже хорошо
Dr. Friedrich
Разве что флаговые энумы ещё надо научиться делать, и вообще будет норм, совсем как надо.
Doge
Doge
Флаги для них не нужны
Romɑn
Dr. Friedrich
Я вижу, в коде ок написано
Dr. Friedrich
Если где-то не ок, то там буду критиковать.
Romɑn
норм энамы же.
Romɑn
адт или не адт это уже другой вопрос
Dr. Friedrich
Dr. Friedrich
В смысле, что значит не нужны? Кому не нужны?
Romɑn
Dr. Friedrich
Мне нужны.
Dr. Friedrich
Doge
Doge
О чем я и говорю
Dr. Friedrich
Хорошее изменение!
Romɑn
Мне нужны.
чтоб можно было делать
Color.Red | Color.Green
Dr. Friedrich
Плохая идея называть что попало энумами, конечно
Dr. Friedrich
Но ладно уж, пусть будет
Dr. Friedrich
Шоб кейворд лишний не заводить, наверное.
Romɑn
Romɑn
я про практическийц пример)
Romɑn
понятно, что на типах можно сразу кучу логичского сделать
Dr. Friedrich
Длину результата надо вычислить
Dr. Friedrich
На уровне типов
Dr. Friedrich
Наверное, вот для этого!
Romɑn
наверное я тупой
Dr. Friedrich
Шоб результат операции Vector<1> + Vector<2> был Vector<3>
Dr. Friedrich
Круто же, полезно.
Romɑn
Romɑn
а Матс Тайп здесь причем?
Dr. Friedrich
Откуда я знаю?
Dr. Friedrich
Но вот тебе практический пример вычислений
Dr. Friedrich
А как их там сделать — это вот пусть академики скажут тебе
Dr. Friedrich
На жавошных энумах, если им так угодно
Romɑn
в примере красиво, но не понятно как в коде это аыглдит и пример синтетика явно
Romɑn
знай
Dr. Friedrich
Romɑn
Dr. Friedrich
Я вижу
Dr. Friedrich
Romɑn
Я вижу
https://dotty.epfl.ch/docs/reference/new-types/match-types.html
Dr. Friedrich
Вот из этого что является match type? Concat?
Romɑn
вот доа
Romɑn
дока
Romɑn
Romɑn
поэтому и вопрос
Dr. Friedrich
> A match type reduces to one of a number of right hand sides, depending on a scrutinee type.
Dr. Friedrich
scrutinee
Dr. Friedrich
Всё ясно!
Dr. Friedrich
А, чувачки
Dr. Friedrich
Это ж просто фича из тайпскрипта
Romɑn
а мне нет, я не доказал что я умный на уровне типов
Romɑn
Dr. Friedrich
Ну это тупо свитч на уровне типов, рили понятно
Dr. Friedrich
Без всяких там scrutinee
Dr. Friedrich
Хорошая фича.
Romɑn
type Elem[X] = X match {
case String => Char
case Array[t] => t
case Iterable[t] => t
}
я такого в TS не помню
Romɑn
Match types are also similar to Typescript's conditional types. The main differences here are:
Romɑn