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, системи типів