Module Dbm


module Dbm: sig  end
NDBM データベースへのインターフェイスです。


type t
NDBM データベースの開かれたファイルディスクリプタの型です。


type open_flag =
| Dbm_rdonly
| Dbm_wronly
| Dbm_rdwr
| Dbm_create (*Flags for opening a database (see Dbm.opendbm).*)

exception Dbm_error of string
エラーが起きたとき以下の関数が発生する例外です。
val opendbm : string -> open_flag list -> int -> t
NDBM データベースのファイルディスクリプタを開きます。第一引数はデータベースの名前です (拡張子 .dir.pag はつけないでください)。第二引数はフラグのリストです。Dbm_rdonly があるとデータベースは読み込み専用に開かれます。Dbm_wronly があるとデータベースは書き込み専用に開かれます。Dbm_rdwr があるとデータベースは読み書き両用に開かれます。Dbm_create があると、データベースが存在しなかったとき作成します。第三引数は、データベースを生成する際に使用するデータベースファイルのパーミッションです。
val close : t -> unit
与えられたディスクリプタを閉じます。
val find : t -> string -> string
find db key はディスクリプタ db で開いているデータベースから key に対応するデータを返します。key に対応するデータがなかったら Not_found を返します。
val add : t -> string -> string -> unit
add db key data はデータベース db に (key, data) のペアを挿入します。データベース中にすでに key が何らかのデータを持っていたら、例外 Dbm_error "Entry already exists" を発生します。
val replace : t -> string -> string -> unit
replace db key data はデータベース db に (key, data) のペアを挿入します。データベース中にすでに key が何らかのデータを持っていたら、そのデータは暗黙のうちに捨てられ、新しいデータ data に置き換えられます。
val remove : t -> string -> unit
remove db key datadb から key が持っているデータを取り除きます。key がデータを持っていなかったら、例外 Dbm_error "dbm_delete" が発生します。
val firstkey : t -> string
Dbm.nextkey を見てください。
val nextkey : t -> string
与えられたデータベースのキーを数え上げます。その順序は規定されていません。firstkey db で最初のキーが返されます。繰り返し nextkey db を呼ぶと順に残りのキーが返されます。すべてのキーを数え上げ終わったら例外 Not_found が発生します。
val iter : (string -> string -> 'a) -> t -> unit
iter f db はデータベース db のペア (key, data) それぞれを関数 f に適用します。関数 fkey を第一引数に、data を第二引数にとります。