EMZETT.
Войти

Сопоставление с образцом (pattern matching)

Коротко: Сопоставление с образцом проверяет значение по ряду шаблонов и одновременно разбирает его на компоненты – мощная замена длинным цепочкам if/else и switch.

Подробнее: Шаблоны могут описывать константы, типы, списки, кортежи, записи и вложенные структуры, часто с дополнительными условиями (guard). Особенно развито в Haskell, OCaml, F#, Erlang, Elixir, Scala и Rust; Python (match, 3.10), Java (шаблоны в switch), C#, Kotlin и JavaScript догоняют.

Подробности

def describe(value):
    match value:

См. также: регулярные выражения, enum, switch, системы типов