6.2 Valuesこのページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 last mod. 2008-11-01 (土) 10:31:00
この章では Objective Caml で処理される値の種類を説明します。 Base valuesInteger 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 までサポートされています。 Recordsrecord 値はラベル付けされた 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 valuesvariant 値は定コンストラクタ (constant constructor) か、不定コンストラクタ (non-constant constructor) と値の組のいずれかです。定コンストラクタは constr のように書き、不定コンストラクタは constr(v) のように書きます (v は不定コンストラクタ constr の引数と呼ばれます) 。 以下の定数は組み込みの定コンストラクタのように扱われます。
現在の実装では 各バリアント型がもつ不定コンストラクタの数は最大 246 になっています。 Polymorphic variants多相バリアントはバリアント値の別の形です。あらかじめ定義されたバリアント型に属さず、特別な型付け規則に従います。多相バリアントも、`tag-name のように書かれる定コンストラクタか、`tag-name (v) のように書かれる不定コンストラクタのいずれかです。 Functions関数値は値から値への写像です。 Objectsobject は隠蔽された内部状態で構成されます。それはインスタンス変数のレコードとそれにアクセスし変更を加えるメソッド群です。object の構成は、それを作ったトップレベルのクラスに記されます。 |