LoginSignup
0
0

More than 1 year has passed since last update.

OCamlの基本的な文法

Last updated at Posted at 2022-12-10

整数の四則演算

(* 足し算 *)
# 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

参考
プログラミングの基礎

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0