Elixir Language
Verhaltensweisen
Suche…
Einführung
Verhalten sind eine Liste von Funktionsspezifikationen, die ein anderes Modul implementieren kann. Sie ähneln den Schnittstellen in anderen Sprachen.
Hier ist ein Beispiel für ein Verhalten:
defmodule Parser do
@callback parse(String.t) :: any
@callback extensions() :: [String.t]
end
Und ein Modul, das es implementiert:
defmodule JSONParser do
@behaviour Parser
def parse(str), do: # ... parse JSON
def extensions, do: ["json"]
end
Das @behaviour
Attribut-Attribut zeigt an, dass dieses Modul jede im Parser-Modul definierte Funktion definieren soll. Fehlende Funktionen führen zu undefinierten Verhaltensfunktionskompilierungsfehlern.
Module können mehrere @behaviour
Attribute haben.
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow