Elixir:
Organizando código en funciones
Cómo hacerlo:
Vamos a crear una función simple en Elixir para capitalizar palabras:
defmodule StringUtils do
def capitalize_words(oracion) do
oracion
|> String.split()
|> Enum.map(&String.capitalize/1)
|> Enum.join(" ")
end
end
IO.puts StringUtils.capitalize_words("hola mundo elixir")
Salida:
Hola Mundo Elixir
Aquí, hemos empaquetado de manera ordenada la lógica de capitalización de palabras en una función llamada capitalize_words
.
En Profundidad
En Elixir, y en el ecosistema más amplio de la Máquina Virtual de Erlang, las funciones son ciudadanos de primera clase, heredando la filosofía de descomponer problemas en piezas más pequeñas, manejables y aisladas. Históricamente, este enfoque funcional tiene raíces en el cálculo lambda y los Lisps, promoviendo la filosofía de código como datos.
Las alternativas para organizar el código pueden ser el uso de macros o procesos en Elixir para tareas repetitivas o concurrentes, respectivamente. En términos de implementación, las funciones de Elixir pueden manejar el emparejamiento de patrones y recibir diferentes argumentos (aridad), otorgándoles versatilidad.