Kurzusok
/
Elixir
Elixir
/
Tanterv
/
Többklózos függvények
Tö

Többklózos függvények ebben a kurzusban: Elixir

72 feladat

A(z) Többklózos függvények fogalomról

Az Elixirben egyetlen függvénynek több klóza is lehet. Ezt a függvény argumentumainak mintaillesztésével és guardok használatával érheted el.

# pattern matching the argument
def number(7) do
  "Awesome, that's my favorite"
end

# using a guard
def number(n) when is_integer(n) do
  "That's not my favorite"
end

def number(_n) do
  "That's not even a number!"
end
  • Használj több függvényklózt, hogy kiszervezd a vezérlési logikát a függvényekből.
  • A klózok kiértékelése sorrendben, a forrásfájl tetejétől lefelé haladva történik, amíg valamelyik sikeres nem lesz.
  • Ha egyik sem sikerül, a BEAM VM FunctionClauseError hibát vált ki.
  • Ha egy argumentumváltozót sem a függvény törzsében, sem egy guardban nem használsz fel, akkor a neve elé _-t kell írni, különben a fordító figyelmeztetést ad.
  • A névtelen függvényeknek is lehet több klózuk.
    fn
      13 -> "Awesome, that's my favorite"
      _ -> "That's not my favorite"
    end
    

Ne feledd, hogy a több klózzal rendelkező függvényeket nem szabad összekeverni a függvénytúlterheléssel, amelyet más programozási nyelvekből ismerhetsz. Az Elixirben a függvényeket kizárólag a nevük és az aritásuk azonosítja, az argumentumaik típusa nem (mivel nincs statikus típusozás). A példában szereplő number/1 függvény egyetlen függvénynek számít, függetlenül attól, hogy hány klózzal rendelkezik.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Többklózos függvények fogalmat

A gyakorlás zárolva

Oldj fel még 10 feladatot, hogy gyakorolhasd a(z) Többklózos függvények fogalmat