DBM

NDBMファイルをアクセスするクラス.キー,データともに文字列でなければな らないという制限と,データがファイルに保存されるという点を除いては Hashクラスと全く同様に扱うことがでます.

スーパークラス:

Object

インクルードしているモジュール:

Enumerable

クラスメソッド:

open(dbname[, mode])

dbnameで指定したデータベースをモードを modeに設定してオープンします.modeの省 略値は0666です.modeとしてnilを指定 するとデータベースが存在しない時には新たなデータベースを作らず nilを返します.

メソッド:

self[key]

keyをキーとする値を返します.

self[key] = value

keyをキーとして,valueを格納します. valueとしてnilを指定すると,keyに対 する項目を削除します.

clear

DBMファイルを空にします.

close

DBMファイルをクローズします.以後の操作は例外を発生させます.

delete(key)

keyをキーとする項目を削除します.

delete_if { |key, value| ... }

ブロックを評価した値が真であれば該当する項目を削除します.

each {|key, value| ... }
each_pair {|key, value| ... }

各要素に対するイテレータ.

each_key {|key| ... }

全てのkeyに対して繰り返すイテレータ.

each_value {|value| ... }

全てのvalueに対して繰り返すイテレータ.

empty?()

データベースが空の時,真を返します.

has_key?(key)
key?(key)
include?(key)

keyがデータベース中に存在する時,真を返します.

has_value?(key)
value?(value)

valueを値とする組がデータベース中に存在する時,真を返します.

indexes(key_1,...)
indices(key_1,...)

各引数の値をキーとする要素を含む配列を返します.

keys

データベース中に存在するキー全てを含む配列を返します.

length
size

データベース中の要素の数を返します.(注意:現在の実現では要素数を数 えるためにデータベースを全部検索します)

shift

データベース中の要素を一つ取り出し,データベースから削除します.

values

データベース中に存在する値全てを含む配列を返します.