- - - 目次

Hash

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

{a=>b,...}

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

スーパークラス:

Object

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

Enumerable

クラスメソッド:

Hash[key, value...]

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

new([ifnone])

空の新しいハッシュを生成します.ifnoneはキーに対 応する値が存在しない時のデフォルト値です.

メソッド:

self [key]

keyに関連づけられた値を返します.該当するキーが登 録されていない時には,デフォルト値(設定されていない時には nil)を返します.

self [key]= value

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

clear

ハッシュの中身を空にします.

default

ハッシュのデフォルト値を返します.

default=(value)

ハッシュのデフォルト値をvalueに設定します.対応す る値が存在しないキーで検索した時にはこの値を返します.

delete(key)

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

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

delete_if {|key, value|...}
reject!{|key, value|...}

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

clone
dup

レシーバと同じ内容を持つ新しいハッシュを返します.フリーズし たハッシュのcloneは同様にフリーズされたハッシュ を返しますが,dupは内容の等しいフリーズされてい ないハッシュを返します.

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

keyvalueを引数としてブロックを評価し ます.

each_key {|key|...}

keyを引数としてブロックを評価します.

each_value {|value|...}

valueを引数としてブロックを評価します.

empty?

ハッシュが空の時真を返します.

fetch(key[,default])

keyに関連づけられた値を返します.該当するキーが登 録されていない時にはdefaultを返します.ブロックが 与えられた時には該当するキーが登 録されていない時にそのブロッ クを評価した値を返します.

freeze

ハッシュの内容の変更を禁止します.

frozen?

ハッシュの内容の更新が禁止されている時真を返します.

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

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

has_value?(value)
value?(value)

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

index(val)

valに対応するキーを返します. 対応する要素が存在しない時には nilを返します.

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

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

keys

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

length
size

ハッシュの要素の数を返します.

invert

値からキーへのハッシュを返します.

rehash

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

replace(other)

ハッシュの内容をotherの内容で置き換えます.

shift

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

store(key,value)

keyに対してvalueを関連づけます.

to_a

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

values

ハッシュの全値の配列を返します.

update(other)

ハッシュの内容をマージします.重複するキーに対応する値は otherの内容で上書きされます.


- - - 目次

matz@netlab.co.jp