Elixir Language
comportamenti
Ricerca…
introduzione
I comportamenti sono un elenco di specifiche delle funzioni che possono essere implementate da un altro modulo. Sono simili alle interfacce in altre lingue.
Ecco un esempio di comportamento:
defmodule Parser do
@callback parse(String.t) :: any
@callback extensions() :: [String.t]
end
E un modulo che lo implementa:
defmodule JSONParser do
@behaviour Parser
def parse(str), do: # ... parse JSON
def extensions, do: ["json"]
end
L' @behaviour
modulo @behaviour
alto indica che questo modulo dovrebbe definire ogni funzione definita nel modulo Parser. Le funzioni mancanti comporteranno errori di compilazione delle funzioni comportamentali non definite.
I moduli possono avere più attributi @behaviour
.
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow