【ぱたーんまっちんぐ】
パターンマッチング とは?
最終更新:
💡 値や形を照合して処理を選ぶ
値やデータの構造をパターンと照合し、一致した分岐の処理を実行する仕組み。構造を分解して中身を変数に取り出すこともできる。構文や網羅性チェックは言語によって異なる。
📌 このページのポイント
if文と何が違うの?
Rustではどんな例がある?
Optionという型の値をmatchで扱う例があるよ。Some(5)ならSome(n)の分岐でnに5を取り出して1を足し、Some(6)を返す。値がないNoneならNoneの分岐へ進むんだ。
分岐を書き忘れたら教えてくれる?
形だけでなく条件も付けられる?
ガード条件を加えられるよ。Pythonならcase (x, y) if x == y:のように、座標を取り出したうえでxとyが同じか確認できる。ガードが偽なら、次のcaseを試すんだ。
正規表現とは別のものなの?
まとめ:ざっくりこれだけ覚えればOK!
「パターンマッチング」って出てきたら「データの形に合わせて処理を振り分ける仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Pattern Matching」 = パターン照合
💬 Patternは「パターン」、Matchingは「照合」のこと。値や構造を表すパターンと、対象のデータを照らし合わせるんだ。