Erlang-pattern-matching
提供:Dev Guides
アーラン-パターンマッチング
パターンは用語と同じように見えます。アトムと数字のような単純なリテラル、タプルとリストのような複合、または両方の混合が可能です。 変数には、大文字またはアンダースコアで始まる英数字の文字列を含めることもできます。 特別な「匿名変数」、_(アンダースコア)は、一致する値を気にせず、使用しない場合に使用されます。
一致する用語と同じ「形状」を持ち、遭遇するアトムが同じ場合、パターンは一致します。 たとえば、次の一致が成功します-
- B = 1。
- 2 = 2。
- \ {ok、C} = \ {ok、40}。
- [H | T] = [1、2、3,4]。
4番目の例では、用語で説明されているように、リストの先頭と末尾を示すパイプ(|)があります。 また、左側はパターンの通常のケースである右側と一致する必要があることに注意してください。
次のパターンマッチングの例は失敗します。
- 1 = 2。
- \ {ok、A} = \ {failure、 "質問を知らない"}。
- [H | T] = []。
パターンマッチング演算子の場合、失敗するとエラーが生成され、プロセスは終了します。 これをトラップして処理する方法については、エラーで説明しています。 パターンを使用して、関数のどの句を実行するかを選択します。