プログラミング言語SML#解説 3.7.1版
7 MLプログラミング入門

7.5 bool型と条件式

条件を含む計算も

MLのプログラミングは,必要な値をもつ式を定義することを通じて行う

というMLの原則に従い式で表されます. 式

if E1 then E2 else E3

は値を表す式です. その値は,以下のように求められます.

  1. 1.

    E1を評価し値を求める.

  2. 2.

    もしその値がtrueであればE2を評価しその値を返す.

  3. 3.

    もしE1の値がfalseであればE3を評価しその値を返す.

このE1の式が持つ値true,falseはそれぞれ「真」と「偽」 を表す型boolの2つの定数です. bool型の値を持つ式は,これら定数の他に,数の大小比較や論理 演算などがあります.

# 1 < 2;
val it = true : bool
# 1 < 2 andalso 1 > 2;
val it = false : bool
# 1 < 2 orelse 1 > 2;
val it = true : bool

条件式は,これらbool型を持つ式を使って定義します.

# if 1 < 2 then 1 else 2;
val it = 1 : int

この条件式も値を持つ式ですから,他の式と自由に組み合わせることが できます.

# (if 1 < 2 then 1 else 2) * 10;
val it = 10 : int