整数の四則演算
(* 足し算 *)
# 2 + 3 ;;
- : int = 5
(* hoge *)
はコメント。
#
はプロンプト。自動で入る。
;;
はインタプリタで実行する場合文末に必要。
-
以降は返り値。
実数の四則演算
# 1.414 /. 3.14 ;;
- : float = 0.450318471337579573
実数の演算子は 演算子 + ピリオド
と書く点に注意。
小数点以下がゼロの場合は 2.0
でもいいし 2.
でもいい。
変数定義
let 変数名 = 式
と書く。
# let pi = 3.14 ;;
val pi : float = 3.14
val pi : float = 3.14
は、
変数 pi の型は float で、値は 3.14 です。
を意味する。
関数定義
let 関数名 引数 = 式
と書く。
(* f(x) = 2x + 3 *)
# let f x = 2 * x + 3 ;;
val f : int -> int = <fun>
(* 実行 *)
# f 3 ;;
- : int = 9
val f : int -> int = <fun>
は、
関数 f の型は int -> int で、値は関数です。
を意味する。
int -> int 型
は、
int をひとつ受け取り、int を返す
を意味する。
引数は複数取れる。
(* g(x,y) = x^2 + y^2 - 4 *)
# let g x y = x ** 2 + y ** 2 - 4 ;;
val g : int -> int -> int = <fun>
(* 実行 *)
# g 2 3 ;;
- : int = 9
val g : int -> int -> int = <fun>
は、
関数 g の型は int -> int -> int で、値は関数です。
を意味する。
int -> int -> int 型
は、
int をふたつ受け取り、int を返す
を意味する。
条件分岐
if 条件 then 式 else 式
と書く。
# if 1 < 2 then 3 else 4 ;;
- : int = 3
ふたつの式は同じ型の値を返さなければならない。
# if 1 < 2 then 3 else "hello" ;;
Error: This expression has type string but an expression was expected of type int
参考
プログラミングの基礎