Elixir Language
Zachowania
Szukaj…
Wprowadzenie
Zachowania to lista specyfikacji funkcji, które może implementować inny moduł. Są one podobne do interfejsów w innych językach.
Oto przykładowe zachowanie:
defmodule Parser do
@callback parse(String.t) :: any
@callback extensions() :: [String.t]
end
I moduł, który to implementuje:
defmodule JSONParser do
@behaviour Parser
def parse(str), do: # ... parse JSON
def extensions, do: ["json"]
end
@behaviour
atrybut @behaviour
modułu wskazuje, że ten moduł ma definiować każdą funkcję zdefiniowaną w module Parsera. Brakujące funkcje spowodują nieokreślone błędy kompilacji funkcji zachowania.
Moduły mogą mieć wiele atrybutów @behaviour
.
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow