Chapter 19 基本的なライブラリこのページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 last mod. 2009-09-10 (木) 10:45:01
The Objective Caml system release 3.10 この章では Objective Caml のコアライブラリを解説します。コアライブラリは、組み込みの型や例外の宣言と、その型に対する基本的な処理を提供するモジュール Pervasives からなります。モジュール Pervasives は 2 つの意味で特別です。
Conventions組み込みの型宣言とモジュール Pervasives の内容物はそれぞれタイプライタフォントで表示します。さらにその後に短い解説をつけています。すべてのライブラリモジュールとその内容物は、このレポートの最後で索引になっています。 Built-in types and predefined exceptions以下の組み込みの型と定義済み例外はコンパイル環境で常に定義されていますが、これらはいかなるモジュールの内容物でもありません。よって、これらはこれらの名前でしか参照できません。 Built-in typestype int 整数型。 type char 文字型。 type string 文字列型。 type float 浮動小数点小数型。 type bool = false | true 真偽値型。 type unit = () ユニット値の型。 type exn 例外値の型。 type 'a array 'a 型の要素を持つ配列の型。 type 'a list = [] | :: of 'a * 'a list 'a 型の要素を持つリストの型。 type 'a option = None | Some of 'a 'a 型の値を持つオプション型。 type int32 符号付き32ビットの整数型。Int32[] モジュールを見てください。 type int64 符号付き64ビットの整数型。Int64[] モジュールを見てください。 type nativeint 符号付きのプラットフォームにネイティブな整数型(32ビットプロセッサでは32ビット、64ビットプロセッサでは64ビット)。Nativeint[] モジュールを見てください。 type ('a, 'b, 'c, 'd) format4 フォーマット文字列型。'a はフォーマットのパラメータの型、'd は printf 形式の関数の返り値の型、'b は \%a と \%t のプリント関数に最初に与えられる引数の型(Printf[] モジュールを見てください)、'c はこれらの関数の返り値の型です。 type 'a lazy_t この型は Lazy[] モジュールの実装で使う型です。この型は直接使わないでください。 Predefined exceptionsexception Match_failure of (string * int * int) パターンマッチで該当するケースがなかった時発生する例外です。引数はソースコード中のパターンマッチの位置です (ファイル名、行数、文字の位置) 。 exception Assert_failure of (string * int * int) assertion に失敗したとき発生する例外です。引数はソースコード中のパターンマッチの位置です (ファイル名、行数、文字の位置) 。 exception Invalid_argument of string ライブラリ関数が、与えられた引数が意味をなさないことを知らせるために発生する例外です。 exception Failure of string ライブラリ関数が、与えられた引数に対して未定義であることを知らせるために発生する例外です。 exception Not_found 検索関数が、要求されたオブジェクトを見つけられないときに発生する例外です。 exception Out_of_memory 実行を行うのに十分なメモリがなかったとき、ガベージコレクタが発生する例外です。 exception Stack_overflow 評価スタックが最大サイズに至ったときに、バイトコードインタプリタが発生する例外です。これはよくプログラムで無限再帰や極端に深い再帰を行ったときに発生します (ネイティブコードコンパイラでは、完全には実装されていません。セクション 11.5 を見てください) 。 exception Sys_error of string 入出力関数で OS エラーが起きたときに発生する例外です。 exception End_of_file 入力関数がファイル終端に至ったことを伝えるために発生する例外です。 exception Division_by_zero 除数に 0 をとって除算や剰余を行ったときに発生する例外です (ネイティブコードコンパイラでは、完全には実装されていません。セクション 11.5 を見てください) 。 exception Sys_blocked_io Sys_error の特別な場合です。I/O が非同期 I/O チャンネルで使えなかったときに発生します。 exception Undefined_recursive_module of (string * int * int) 正当な理由のない再帰的なモジュール定義が評価されたときに発生する例外です(セクション 7.9 を見てください)。引数はソースコード中の定義の位置です(ファイル名、行数、文字の位置)。 Module Pervasives: the initially opened module
|