パターンマッチ
入力、つまり関数のパラメータが組、レコード、リストのような構造データになるとそのデータの各要素にアクセスする必要があります。
C#なら、プロパティ、メソッド、インデクサとか、リストならイテレートして走査していくわけですが、OCamlは違うみたいです。
(レコードに関してはプロパティっぽくアクセスもできるけど..)
そこで必要になってくるのがパターンマッチということです。
組へのパターンマッチ
# let f point = match point with (x, y) -> "point x:" ^ string_of_int x ^ " y:" ^ string_of_int y;; val f : int * int -> string = <fun> # f (5, 10);; - : string = "point x:5 y:10"
う〜ん、なんかすごく下らないサンプルですね。
2点間の距離とか計算させようとしたんですが、眠いのであきらめます。。