auの日記

プログラミング初心者の日記。(auはハンドルネームです)

パターンマッチについて調べてみた

auです。

OCamlを勉強しているときに、「パターンマッチ」という用語が出てきたので調べてみました。

パターンマッチとは

パターンマッチとは、データから特定のパターンに合う値を探し出すことを指します。

そのままですね。C言語で用いられる"switch-case文"に似ています。

OCamlの場合はmatch 式 caseでパターンマッチを使用することができます。

let pattern n =
  match n with
    1 -> 1
  | 0 -> 0
  | _ -> 2;;


pattern 3;;

(* 実行結果 *)

val pattern : int -> int = <fun>
- : int = 2

nに与えられた値が1ならば1、0ならば0、それ以外ならば2を返すというパターンマッチで、与えられた値が3なので2が返ってきていますね。