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.