Elixir:
Організація коду в функції

Як:

Давайте створимо просту функцію на Elixir для великої букви слів:

defmodule StringUtils do
  def capitalize_words(sentence) do
    sentence
    |> String.split()
    |> Enum.map(&String.capitalize/1)
    |> Enum.join(" ")
  end
end

IO.puts StringUtils.capitalize_words("hello elixir world")

Вивід:

Hello Elixir World

Тут ми акуратно упакували логіку капіталізації слів у функцію під назвою capitalize_words.

Поглиблений огляд

У Elixir, а також у ширшому екосистемі Erlang VM, функції є об’єктами першого класу, що наслідують філософію розбиття проблем на менші, керовані та ізольовані частини. Історично, цей функціональний підхід має коріння в лямбда-обчисленні та Lisp-мовах, сприяючи філософії коду як даних.

Альтернативами організації коду можуть бути використання макросів або процесів у Elixir для повторювальних або паралельних завдань відповідно. Що стосується реалізації, функції Elixir можуть обробляти візерункову відповідність та приймати різні аргументи (арність), надаючи їм універсальності.

Дивіться також