Elixir Language
поведения
Поиск…
Вступление
Поведение - это список спецификаций функций, которые может реализовать другой модуль. Они похожи на интерфейсы на других языках.
Вот пример поведения:
defmodule Parser do
@callback parse(String.t) :: any
@callback extensions() :: [String.t]
end
И модуль, который его реализует:
defmodule JSONParser do
@behaviour Parser
def parse(str), do: # ... parse JSON
def extensions, do: ["json"]
end
@behaviour
модуля @behaviour
выше указывает, что этот модуль должен определять каждую функцию, определенную в модуле Parser. Отсутствующие функции приведут к ошибкам компиляции неопределенных ошибок функции.
Модули могут иметь несколько атрибутов @behaviour
.
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow