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
モジュール属性は、このモジュールがParserモジュールで定義されたすべての関数を定義することが期待されることを示します。機能が不足すると、定義されていない動作関数のコンパイルエラーが発生します。
モジュールは、複数持つことができます@behaviour
属性を。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow