OCamlで時間を判定するロジックの課題をやってみた

課題の出典は、浅井健一先生の「プログラミングの基礎」サイエンス社より。
わりと簡潔に書けたと思うのですが、いかがでしょうか?変数の位置をあまり移動させたくないようだ(自然とこうなる)。
ブーリアンで判定させるのはけっこう好きです。

追記:
模範解答は以下のとおり。難しく考えすぎていた。

(* 目的:時間を受け取ったら午前か午後かを返す *)
(* jikan : int -> string *)
let jikan ji =
if ji < 12 then "午前" else "午後"

(* テスト *)
let test1 = jikan 0 = "午前"
let test2 = jikan 3 = "午前"
let test3 = jikan 12 = "午後"
let test4 = jikan 15 = "午後"
let test5 = jikan 21 = "午後"

Post Image

Posted by tomo

August 25 13:08, 2025