- - - 目次

Hash

ハッシュテーブル(連想配列とも呼ぶ)のクラス.ハッシュテーブル は任意の種類のオブジェクトから任意の種類のオブジェクトへの関 連づけを行うことができます.ハッシュテーブルの生成は以下のよ うなハッシュ式で行われます.

{a=>b,...}

ハッシュテーブルへの格納に用いられるハッシュ値の計算には, hashメソッドが使 われます. キーとして与えたオブジェクトの内容が変化し,メソッド hashの返す値が変わるとハッシュテーブルから値が 取り出せなくなりますから, Array, Hashなどのインスタンス はキーに向きません.文字列をキーとして与えると,文字列をコピー し,コピーを更新不可に設定してキーとして使用します.キーとし て使われている文字列を更新しようとすると例外が発生します.

スーパークラス:

Object
インクルードされているモジュール:

Enumerable
クラスメソッド:

Hash[key, value...]

新しいハッシュテーブルを生成します.引数は必ず偶数個指定しな ければなりません(奇数番目がキー,偶数番目が値).

new([size])

空の新しいハッシュテーブルを生成します.sizeを指 定した場合にはsize要素分の内部バッファをあらかじ め割り当てます.

メソッド:

self [key]

keyに関連づけられた値を返します.該当するキーが登 録されていない時にはnilを返します.

self [key]= value

keyに対してvalueを関連づけます. valuenilの時,keyに対す る関連を取り除きます.つまり,ハッシュテーブルは nilを値にとることができません.

clear

ハッシュテーブルの中身を空にします.

delete(key)

keyに対する関連を取り除きます.取り除かれた値を返 しますが,keyに対応する値が存在しない時には nilを返します.

イテレータブロックが与えられた時にはkeyにマッチす るものがなかった時に評価されます.

delete_if {|key, value|...}

keyvalueを引数としてイテレータブロッ クを評価した値が真である時,要素を削除します.

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

keyvalueを引数としてイテレータブロッ クを評価します.

each_key {|key|...}

keyを引数としてイテレータブロックを評価します.

each_value {|value|...}

valueを引数としてイテレータブロックを評価します.

empty?

ハッシュテーブルが空の時真を返します.

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

ハッシュテーブルがkeyをキーとして持つ時真を返します.

has_value?(value)
value?(value)

ハッシュテーブルがvalueを値として持つ時真を返します.

indexes(key_1,..., key_n)

引数で指定されたキーを持つ値の配列を返します.

keys

全キーの配列を返します.

length
size

ハッシュテーブルの要素を数を返します.

invert

値からキーへの連想配列を返します.

rehash

キーのハッシュ値を再計算します.キーになっているオブジェクトのハッシュ 値が変わってしまった場合,このメソッドを使ってハッシュ値を再計算しない 限り,そのキーに対応する値を取り出すことができなくなります.

shift

ハッシュテーブルから要素をひとつ取り除き, [key,value]という配列として返します.

to_a

ハッシュテーブルを[key,value]なる2要素の配列の 配列に変換します.

values

ハッシュテーブルの全値の配列を返します.


- - - 目次

matz@caelum.co.jp