条件分岐
if 条件 then 式 else 式
- 「条件」はboolかboolを返す式
- 2つの「式」は同じ型を返す
条件文というか条件式?C#みたく分岐してごにょごにょって感じではないな。
どっちかというと三項演算子みたいな雰囲気。
(* 絶対値を返す *) # let abs_value x = if x > 0.0 then x else -. x;; val abs_value : float -> float = <fun> # abs_value (-5.);; - : float = 5.
ということは、C#では
if (x < 0) { // x < 0の場合 } else if (x < 10) { // 0 <= x < 10 の場合 } else if (x < 20) { // 10 <= x < 20 の場合 } else if (x < 30) { // 20 <= x < 30の場合 } else { // その他 }
だと、OCamlでは
if x < 0 then "x < 0の場合" else if x < 10 then "0 <= x < 10 の場合" else if x < 20 then "10 <= x < 20 の場合" else if x < 30 then "20 <= x < 30の場合" else "その他"
となるわけか。