Elixir:
Organisering av kode i funksjoner
Hvordan:
La oss lage en enkel Elixir-funksjon for å gjøre ord store:
defmodule StringUtils do
def capitalize_words(setning) do
setning
|> String.split()
|> Enum.map(&String.capitalize/1)
|> Enum.join(" ")
end
end
IO.puts StringUtils.capitalize_words("hei elixir verden")
Utdata:
Hei Elixir Verden
Her har vi pent pakket inn logikken for å gjøre ord store i en funksjon kalt capitalize_words
.
Dypdykk
I Elixir, og i det bredere Erlang VM-økosystemet, er funksjoner førsteklasses borgere, arver filosofien om å bryte ned problemer i mindre, håndterbare og isolerte deler. Historisk sett har denne funksjonelle tilnærmingen røtter i lambda kalkulus og Lisps, som fremmer filosofien om kode som data.
Alternativer for å organisere kode kan være å bruke makroer eller prosesser i Elixir for henholdsvis repeterende eller samtidige oppgaver. Når det gjelder implementering, kan Elixir-funksjoner håndtere mønstermatching og ta imot forskjellige argumenter (aritet), noe som gir dem allsidighet.