(* 時刻を表す型 *) type jikoku_t = Gozen of int (* 午前 *) | Gogo of int (* 午後 *) | Noon (* 昼の12時 *) | Midnight (* 夜中の12時 *) (* 目的:24 時間表示の時刻を返す *) (* let jikoku24 : jikoku_t -> int *) let jikoku24 jikoku = match jikoku with Gozen (n) -> n | Gogo (n) -> n + 12 | Noon -> 12 | Midnight -> 0 (* テスト *) let test1 = jikoku24 (Gozen (10)) = 10 let test2 = jikoku24 (Gogo (3)) = 15 let test3 = jikoku24 Noon = 12 let test4 = jikoku24 Midnight = 0