6.2 Values

このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

last mod. 2008-11-01 (土) 10:31:00

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

Base values

Integer numbers

整数値は -2^30 から 2^30-1 まで (-1073741824 から 1073741823) の整数です。実装によってはこれより広い範囲をサポートしているかもしれません。例えば 64 ビットプラットフォームでは、整数は -2^62 から 2^62-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 - 5 文字 (16777211 文字) までサポートされています。 64ビットプラットフォームでは 2^57 - 9 文字までです。

Tuples

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

Records

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

Arrays

配列は有限で、同じ型の値の列です (長さは指定できます) 。現在の実装では 浮動小数点数の配列以外で 222 - 1 要素 (4194303 要素) の配列までサポートされています(要素が浮動小数点数の場合は 2097151要素)。 64ビットプラットフォームでは, 全ての配列で 長さ 2^54-1 までです.

Variant values

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

以下の定数は組み込みの定コンストラクタのように扱われます。

定数コンストラクタ
false真理値の偽
true真理値の真
()unit の値
[]空リスト

現在の実装では 各バリアント型がもつ不定コンストラクタの数は最大 246 になっています。

Polymorphic variants

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

Functions

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

Objects

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

新規 編集 添付