ハッシュテーブル(連想配列とも呼ぶ)のクラス.ハッシュは任意の 種類のオブジェクトから任意の種類のオブジェクトへの関連づけを 行うことができます.ハッシュ生成は以下のようなハッシュ式で行 われます.
{a=>b,...}
ハッシュの格納に用いられるハッシュ値の計算には,
hash
メソッドが使わ
れます.
キーとして与えたオブジェクトの内容が変化し,メソッド
hash
の返す値が変わるとハッシュから値が
取り出せなくなりますから,
Array
,
Hash
などのインスタンス
はキーに向きません.文字列をキーとして与えると,文字列をコピー
し,コピーを更新不可に設定してキーとして使用します.キーとし
て使われている文字列を更新しようとすると例外が発生します.
Object
Enumerable
Hash[key, value...]
新しいハッシュを生成します.引数は必ず偶数個指定しなければな りません(奇数番目がキー,偶数番目が値).
new([ifnone])
空の新しいハッシュを生成します.ifnoneはキーに対 応する値が存在しない時のデフォルト値です.
self [key]
keyに関連づけられた値を返します.該当するキーが登
録されていない時には,デフォルト値(設定されていない時には
nil
)を返します.
self [key]= value
keyに対してvalueを関連づけます.
valueがnil
の時,keyに対す
る関連を取り除きます.つまり,ハッシュは
nil
を値にとることができません.
clear
ハッシュの中身を空にします.
default
ハッシュのデフォルト値を返します.
default=(value)
ハッシュのデフォルト値をvalueに設定します.対応す る値が存在しないキーで検索した時にはこの値を返します.
delete(key)
keyに対する関連を取り除きます.取り除かれた値を返
しますが,keyに対応する値が存在しない時には
nil
を返します.
ブロックが与えられた時にはkeyにマッチするものがな かった時に評価されます.
delete_if {|key, value|...}
reject!{|key, value|...}
keyとvalueを引数としてブロックを評価し た値が真である時,要素を削除します.
clone
dup
レシーバと同じ内容を持つ新しいハッシュを返します.フリーズし
たハッシュのclone
は同様にフリーズされたハッシュ
を返しますが,dup
は内容の等しいフリーズされてい
ないハッシュを返します.
each {|key, value|...}
each_pair {|key, value|...}
keyとvalueを引数としてブロックを評価し ます.
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の内容で上書きされます.