Elixir Language
gedragingen
Zoeken…
Invoering
Gedrag is een lijst met functiespecificaties die een andere module kan implementeren. Ze zijn vergelijkbaar met interfaces in andere talen.
Hier is een voorbeeldgedrag:
defmodule Parser do
@callback parse(String.t) :: any
@callback extensions() :: [String.t]
end
En een module die het implementeert:
defmodule JSONParser do
@behaviour Parser
def parse(str), do: # ... parse JSON
def extensions, do: ["json"]
end
Het @behaviour
kenmerk @behaviour
module geeft aan dat van deze module wordt verwacht dat deze elke functie definieert die in de Parser-module is gedefinieerd. Ontbrekende functies zullen resulteren in compilatiefouten van ongedefinieerde gedragsfuncties.
Modules kunnen meerdere @behaviour
kenmerken hebben.
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow