Elixir:
Organisation du code en fonctions

Comment faire :

Créons une fonction Elixir simple pour mettre en majuscule les mots :

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

Sortie :

Hello Elixir World

Ici, nous avons soigneusement emballé la logique de capitalisation des mots dans une fonction appelée capitalize_words.

Plongée approfondie

Dans Elixir, et plus largement dans l’écosystème de la machine virtuelle Erlang, les fonctions sont des citoyens de première classe, héritant de la philosophie de décomposition des problèmes en petits morceaux gérables et isolés. Historiquement, cette approche fonctionnelle trouve ses racines dans le calcul lambda et les Lisps, promouvant la philosophie du code en tant que données.

Les alternatives pour organiser le code peuvent être l’utilisation de macros ou de processus dans Elixir pour des tâches répétitives ou concurrentes, respectivement. En termes de mise en œuvre, les fonctions Elixir peuvent gérer la correspondance de motifs et recevoir différents arguments (arité), leur conférant une polyvalence.

Voir aussi