Треки
/
Elixir
Elixir
/
Салабус
/
Розгалуження case
Ро

Розгалуження case у Elixir

58 вправ

Про концепцію Розгалуження case

case - це структура керування потоком, яка дозволяє нам порівнювати задане значення з багатьма шаблонами. Клаузи у виразі case обчислюються згори донизу, доки не знайдеться збіг.

У багатьох випадках використання case і визначення кількох клауз функції взаємозамінні. Зіставлення з шаблоном й охоронні вирази можна використовувати в клаузах case.

# one function clause, multiple case clauses
def age_group(age) do
  case age do
    0 -> ~c"infant"
    age when age < 4 -> ~c"baby"
    age when age < 13 -> ~c"child"
    age when age < 18 -> ~c"teenager"
    _ -> ~c"adult"
  end
end

# multiple function clauses, no case
def age_group(0), do: ~c"infant"
def age_group(age) when age < 4, do: ~c"baby"
def age_group(age) when age < 13, do: ~c"child"
def age_group(age) when age < 18, do: ~c"teenager"
def age_group(_), do: ~c"adult"

Немає суворих правил щодо вибору одного замість іншого. Це питання особистих уподобань, які зазвичай залежать від контексту.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Розгалуження case

Практика заблокована

Розблокуйте ще 2 вправи, щоб практикувати концепцію Розгалуження case