Elixir Language
Comportamientos
Buscar..
Introducción
Los comportamientos son una lista de especificaciones de funciones que otro módulo puede implementar. Son similares a las interfaces en otros idiomas.
Aquí hay un ejemplo de comportamiento:
defmodule Parser do
@callback parse(String.t) :: any
@callback extensions() :: [String.t]
end
Y un módulo que lo implementa:
defmodule JSONParser do
@behaviour Parser
def parse(str), do: # ... parse JSON
def extensions, do: ["json"]
end
El @behaviour
módulo @behaviour
anterior indica que se espera que este módulo defina cada función definida en el módulo de análisis. Las funciones que faltan darán como resultado errores de compilación de la función de comportamiento indefinido.
Los módulos pueden tener múltiples atributos de @behaviour
.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow