この章では Objective Caml で操作する値の種類を説明します。
整数値は -230 から 230-1 まで(-1073741824 から 1073741823)の整数です。実装によってはこれより広い範囲をサポートしているかもしれません。例えば 64 ビットプラットフォームでは、整数は -262 から 262-1 までの範囲をサポートしています。
浮動小数点数値は浮動小数点数を表す値です。現在の実装では IEEE 754 standard 準拠の倍精度の浮動小数点数になっています。これは仮数部 53 ビット、指数部が -1022 から 1023 までの浮動小数点数です。
文字値は 0 から 255 までの 8 ビット整数として表されます。 0 から 127 までの文字コードは ASCII 標準に従って解釈されます。現在の実装では 128 から 255 までの文字コードは ISO 8859-1 標準に従って解釈されます。
値のタプルは (v1
, ..., v
) のように書き、n
v1
から v
の n
n
個組を表します。現在の実装では 222 - 1 要素(4194303 要素)のタプルまでサポートされています。
レコード値はラベル付けされた値の組です。レコード値は {
のように書き、 field1
= v1
; ...; field
= n
v
}n
v
がレコードのフィールド n
field
に対応します(i
i
= 1 ... n
)。現在の実装では 222 - 1 要素(4194303 要素)のレコードまでサポートされています。
配列は有限長で、長さを指定できる、同じ型の値の列です 。現在の実装では浮動小数点数の配列以外は 222 - 1 要素 (4194303 要素)の配列までサポートされています(要素が浮動小数点数の場合は 2097151 要素)。 64 ビットプラットフォームでは、全ての配列で長さ 254-1 までです。
バリアント値は定数構成子か、非定数構成子と値を組にしたもののいずれかです。定数構成子は constr
のように書き、非定数構成子は constr
(v
) のように書きます(v
は非定数構成子 constr
の引数と呼ばれます)。
以下の定数は組み込みの定数構成子のように扱われます。
定数 | 構成子 |
---|---|
false | 真理値の偽 |
true | 真理値の真 |
() | unit 値 |
[] | 空リスト |
現在の実装では 各バリアント型がもつ非定数構成子の数は最大 246 になっています。