Треки
/
Elixir
Elixir
/
Салабус
/
Охоронні вирази
Ох

Охоронні вирази у Elixir

53 вправи

Про концепцію Охоронні вирази

Гарди використовують як доповнення до зіставлення зі зразком. Вони дають змогу робити складніші перевірки. Їх можна використовувати в деяких, але не в усіх ситуаціях, де застосовне зіставлення зі зразком, наприклад у визначеннях функцій або в гілках case.

def empty?(list) when is_list(list) and length(list) == 0 do
  true
end
  • Гарди починаються з ключового слова when, після якого йде булевий вираз (англ. Boolean).

  • Вирази гардів є спеціальними функціями, які:

    • Мають бути чистими і не змінювати жодних глобальних станів.
    • Мають повертати строго true або false.
  • Перелік поширених гардів можна знайти в документації Elixir. До нього входять:

  • Власний гард можна визначити за допомогою defguard.

    • Згідно з правилами найменування в Elixir, назви гардів мають починатися з is_.

      defmodule HTTP do
        defguard is_success(code) when code >= 200 and code < 300
      
        def handle_response(code) when is_success(code) do
          :ok
        end
      end
      
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Охоронні вирази

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

Розблокуйте ще 6 вправ, щоб практикувати концепцію Охоронні вирази