* * *
* *"> *
* * *
Akihito Nagata's Page
|
|
Ocamlの型rakuda

Ocamlの基本型

type int正数型,integer
type char文字型,charactor
type string文字列型
type float浮動小数点型
type bool真偽値型、boolean
type unitユニット型
type exn例外型
ユニット型はCでいうvoid型のようなもので、値は"()"しか持たない。

Ocamlの組み込み型

基本型以外にOcamlで用意されている組み込み型。
type 'a array配列型
type 'a listリスト型
type 'a optionオプショナル型
と多く存在するので全ては省略。出てくる度に説明する。

各データ型に対する演算子

Ocamlの特徴として、Ocamlでは他の言語で見られるような非明示的なキャストは一切存在しない。例えばJavaでは
double a = 1 + 2.0;
のような式は
double a = (double)1 + 2.0;
と同じ意味になる。
しかし、Ocamlではこのようなキャストは勝手にやってくれず必要ならばプログラムの文面上に自分でいれなければならない。またCやJavaなどの"+"は数値型ならばどれにも適用することができるが、Ocamlでは個々に別の演算子が用意されている。
# 1 + 2;;
- : int = 3
# 1.0 +. 2.0;;
- : float = 3.1
	    
"+"は int -> int -> int であり、"+." は float -> float -> float と型がつけられているため
# 1 +. 2;;
# 1.0 + 2;;
などは全てエラーである。もしこれを実行したければ明示的にキャスト関数を挿入する必要がある。
# (float_of_int 1) +. (float_of_int 2);;
# (int_of_float 1.0) + 2;;
|
前のページはこちら