Module Dbm
module Dbm: sig
.. end
NDBM データベースへのインタフェース
type
t
NDBM データベースのファイル記述子の型。
type
open_flag =
| |
Dbm_rdonly |
| |
Dbm_wronly |
| |
Dbm_rdwr |
| |
Dbm_create |
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
は (key
, data
) の対をデータベース db
に挿入します。
データベースに key
に対応する値が既に存在した場合には、
Dbm_error "Entry already exists"
例外が発生します。
val replace : t -> string -> string -> unit
replace db key data
は (key
, data
) の対をデータベース db
に挿入します。
データベースに 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
を取ります。