Previous Contents Next
6.2 Values

この章では Objective Caml で処理される値の種類を説明します。

6.2.1 Base values

Integer numbers

整数値は -230 から 230-1 まで (-1073741824 から 1073741823) の整数です。実装によってはこれより広い範囲をサポートしているかもしれません。例えば 64 ビットプラットフォームでは、整数は -262 から 262-1 までの範囲をサポートしています。

Floating-point numbers

浮動小数点小数値は浮動小数点小数を表す値です。現在の実装では IEEE 754 standard 準拠の double 精度の浮動小数点小数になっています。これは 53 ビットの仮数部で、指数部が -1022 から 1023 までの浮動小数点小数です。

Characters

文字値は 0 から 255 までの 8 ビット整数を表します。0 から 127 までの文字コードは ASCII 標準に従って解釈されます。現在の実装では 128 から 255 までの文字コードは ISO 8859-1 標準に従って解釈されます。

Character strings

文字列値は有限長の文字列です。現在の実装では 224 - 6 文字 (16777210 文字) までサポートされています。

6.2.2 Tuples

値の tuple は (v1, ..., vn) のように書き、v1 から vn までの n-tuple を表します。現在の実装では 222 - 1 要素 (4194303 要素) の tuple までサポートされています。

6.2.3 Records

record 値はラベル付けされた tuple です。record 値は { field1 = v1; ...; fieldn = vn } のように書き、vi が record field fieldi に対応します (i = 1 ... n) 。現在の実装では 222 - 1 要素 (4194303 要素) の record までサポートされています。

6.2.4 Arrays

配列は有限で、同じ型の値の列です (長さは指定できます) 。現在の実装では 222 - 1 要素 (4194303 要素) の配列までサポートされています。

6.2.5 Variant values

variant 値は定コンストラクタ (constant constructor) か、不定コンストラクタ (non-constant constructor) と値の組のいずれかです。定コンストラクタは cconstr のように書き、不定コンストラクタは ncconstr(v) のように書きます (v は不定コンストラクタ ncconstr の引数と呼ばれます) 。

以下の定数は組み込みの定コンストラクタのように扱われます。
定数 コンストラクタ
false 真理値の偽
true 真理値の正
() unit の値
[] 空リスト

現在の実装ではバリアントで区別されるコンストラクタの数は最大 249 になっています。

6.2.6 Polymorphic variants

多相バリアントはバリアント値の別の形です。あらかじめ定義されたバリアント型に属さず、特別な型付け規則に従います。多相バリアントも、`tag-name のように書かれる定コンストラクタか、`tag-name (v) のように書かれる不定コンストラクタのいずれかです。

6.2.7 Functions

関数値は値から値への写像です。

6.2.8 Objects

object は隠蔽された内部状態で構成されます。それはインスタンス変数のレコードとそれにアクセスし変更を加えるメソッド群です。object の構成は、それを作ったトップレベルのクラスに記されます。


Previous Contents Next