Elixir:
Att organisera kod i funktioner
Hur man gör:
Låt oss skapa en enkel Elixir-funktion för att göra första bokstaven i ord stora:
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")
Output:
Hello Elixir World
Här har vi snyggt paketerat logiken för att göra ord inledande stora i en funktion som kallas capitalize_words
.
Djupdykning
I Elixir, och det bredare Erlang VM-ekosystemet, är funktioner förstaklassmedborgare, med en filosofi som går ut på att bryta ner problem i mindre, hanterbara och isolerade delar. Historiskt har detta funktionella tillvägagångssätt sina rötter i lambda-kalkylen och Lisp, vilket främjar filosofin att se kod som data.
Alternativ till att organisera kod kan vara att använda makron eller processer i Elixir för upprepade eller samtidiga uppgifter, respektive. När det gäller implementering kan Elixir-funktioner hantera mönstermatchning och ta emot olika argument (aritet), vilket ger dem mångsidighet.