Elixir:
Koodin järjestäminen funktioihin
Miten:
Luodaan yksinkertainen Elixir-funktio sanojen alkukirjainten suurentamiseen:
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")
Tuloste:
Hello Elixir World
Tässä olemme tyylikkäästi paketoineet sanankapitalisointilogiikan nimeltä capitalize_words
funktioon.
Syväsukellus
Elixirissä, ja laajemmassa Erlang VM -ekosysteemissä, funktiot ovat ensiluokkaisia kansalaisia, perien filosofian ongelmien pilkkomisesta pienemmiksi, hallittaviksi ja eristetyiksi osiksi. Historiallisesti tämä funktionaalinen lähestymistapa juontaa juurensa lambda kalkyylistä ja Lispeistä, edistäen koodin kuin datan filosofiaa.
Vaihtoehtoja koodin järjestämiselle voivat olla makrojen tai prosessien käyttäminen Elixirissä toistuvia tai samanaikaisia tehtäviä varten, vastaavasti. Toteutuksen kannalta Elixirin funktiot voivat käsitellä kuviorivastusta ja vastaanottaa erilaisia argumentteja (arity), mikä antaa niille monipuolisuutta.