Elixir:
Organizando o código em funções

Como fazer:

Vamos criar uma função simples em Elixir para capitalizar palavras:

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")

Saída:

Hello Elixir World

Aqui, empacotamos de forma organizada a lógica de capitalização de palavras numa função chamada capitalize_words.

Aprofundamento

No Elixir, e no ecossistema mais amplo da Erlang VM, as funções são cidadãos de primeira classe, herdando a filosofia de decompor problemas em partes menores, gerenciáveis e isoladas. Historicamente, esta abordagem funcional tem raízes no cálculo lambda e nos Lisps, promovendo a filosofia de código como dados.

Alternativas para organizar o código podem incluir o uso de macros ou processos em Elixir para tarefas repetitivas ou concorrentes, respectivamente. Em termos de implementação, as funções do Elixir podem lidar com correspondência de padrões e receber diferentes argumentos (aridade), concedendo-lhes versatilidade.

Veja Também