kw match
Зарезервированное слово
Список слов: §1.4
Синтаксис
Match = "match" Expr "{" { Pattern [ "if" Expr ] "=>" Expr ( "," | NL ) } "}" ;Грамматика: Прил. A
Определяется в
- 5.5 Сопоставление с образцом — match ДОЛЖЕН быть исчерпывающим.
- 3.5 Объединения и опционалы — A | B — анонимное объединение.
- 4.4 enum — Вариант: без полей, с позиционными или с именованными полями.
- 5.1 Общие правила — Почти всё — выражения
- 5.4 Условия — Тернарного оператора нет.
- 6.5 Ошибки — Исключений нет. Ошибка — значение типа, помеченного @error, возвращаемое через объединение.
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
Примеры
match result {
Receipt r if r.amount > LIMIT => review(r)
Receipt r => ok(r)
Declined(reason) => warn(reason)
Timeout | Unavailable => retryLater()
_ => fail Unknown
}— 5.5 Сопоставление с образцом
Связанные диагностики
non-exhaustive, pattern-bindings, unreachable-arm, type-mismatch, not-assignable, fail-type, question-context, unhandled-error