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] = []。

パターンマッチング演算子の場合、失敗するとエラーが生成され、プロセスは終了します。 これをトラップして処理する方法については、エラーで説明しています。 パターンを使用して、関数のどの句を実行するかを選択します。