Введение
Когда дело доходит до написания чистого и лаконичного кода в Elixir, тернарный оператор является мощным инструментом, который может значительно упростить ваши условные операторы. В этой статье блога мы рассмотрим различные методы использования тернарного оператора в Elixir, используя разговорный язык и попутно предоставляя примеры кода. Итак, приступим!
Метод 1: базовый тернарный оператор
Основной синтаксис тернарного оператора в Elixir следующий:
condition ? true_expr : false_expr
Вот пример, демонстрирующий его использование:
is_weekend = true
activity = is_weekend ? "Relaxing" : "Working"
IO.puts("Today I am #{activity}!")
Выход:
Today I am Relaxing!
Метод 2: вложенный тернарный оператор
Вы можете вкладывать тройные операторы для обработки более сложных условий. Вот пример:
is_weekend = true
is_morning = false
activity = is_weekend ? "Relaxing" : (is_morning ? "Drinking coffee" : "Working")
IO.puts("Today I am #{activity}!")
Выход:
Today I am Relaxing!
Метод 3: Тернарный оператор с вызовами функций
Тернарный оператор также можно использовать с вызовами функций в качестве выражений. Вот пример:
is_weekend = true
get_activity = fn is_weekend ->
"Relaxing"
end
activity = is_weekend ? get_activity.(is_weekend) : "Working"
IO.puts("Today I am #{activity}!")
Выход:
Today I am Relaxing!
Метод 4: присвоение нескольких переменных
Вы можете назначить несколько переменных, используя тернарный оператор в Elixir. Вот пример:
is_weekend = true
(activity, mood) = is_weekend ? {"Relaxing", "Happy"} : {"Working", "Tired"}
IO.puts("Today I am #{activity} and feeling #{mood}!")
Выход:
Today I am Relaxing and feeling Happy!
Метод 5: Тернарный оператор с сопоставлением с образцом
Сопоставление шаблонов в Elixir можно комбинировать с тернарным оператором, что позволяет получить более выразительный код. Вот пример:
is_weekend = true
activity = case {is_weekend, :morning} do
{true, :morning} -> "Sleeping in"
{true, :evening} -> "Relaxing"
_ -> "Working"
end
IO.puts("Today I am #{activity}!")
Выход:
Today I am Sleeping in!
Заключение
В этой статье мы рассмотрели различные методы использования тернарного оператора в Elixir для упрощения кода. Используя краткий синтаксис тернарного оператора и комбинируя его с другими функциями Elixir, такими как вызовы функций и сопоставление шаблонов, вы можете писать более выразительный и читаемый код. Поэтому в следующий раз, когда вы встретите в Elixir условный оператор, рассмотрите возможность использования тернарного оператора, чтобы упростить код и сделать его более элегантным.