プログラミングの基礎:7.3 構造データに対するデザインレシピ

構造を持つデータを扱うときにはデザインレシピの4項目に
新しい項目「テンプレート」を「本体」の前に加える。

入力が構造データの場合は、その中身を取り出すmatch文を作る

入力データの型が定まるとそこから必然的に決まってくる関数本体の形
のことをテンプレートと呼ぶ

問題7.3解答

(* 目的: x座標とy座標の組で表された平面座標を受け取ったらx軸について対称
     な点の座標を返す *)
(* taisho_x : int * int -> int * int *)
let taisho_x pair = match pair with
 (x, y) -> (x, -y)


(* テスト *)
let test1 = taisho_x (2, 2) = (2,-2)
let test2 = taisho_x (0, 0) = (0, 0)
let test3 = taisho_x (3, -4) = (3, 4)