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 を取ります。