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 data
は db
から key
が持っているデータを取り除きます。key
がデータを持っていなかったら、例外 Dbm_error "dbm_delete"
が発生します。
val firstkey : t -> string
val nextkey : t -> string
与えられたデータベースのキーを数え上げます。その順序は規定されていません。firstkey db
で最初のキーが返されます。繰り返し nextkey db
を呼ぶと順に残りのキーが返されます。すべてのキーを数え上げ終わったら例外 Not_found
が発生します。
val iter : (string -> string -> 'a) -> t -> unit
iter f db
はデータベース db
のペア (key
, data
) それぞれを関数 f
に適用します。関数 f
は key
を第一引数に、data
を第二引数にとります。