Elixir Language
Comportements
Recherche…
introduction
Les comportements sont une liste de spécifications de fonctions qu'un autre module peut implémenter. Ils sont similaires aux interfaces dans d'autres langues.
Voici un exemple de comportement:
defmodule Parser do
@callback parse(String.t) :: any
@callback extensions() :: [String.t]
end
Et un module qui l'implémente:
defmodule JSONParser do
@behaviour Parser
def parse(str), do: # ... parse JSON
def extensions, do: ["json"]
end
L' @behaviour
module @behaviour
ci-dessus indique que ce module est censé définir toutes les fonctions définies dans le module Analyseur. Les fonctions manquantes entraîneront des erreurs de compilation de fonctions de comportement non définies.
Les modules peuvent avoir plusieurs attributs @behaviour
.
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow