Organisering av kode i funksjoner

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.

Se Også