Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Hashクラス
クラスの継承リスト: Hash < Enumerable < Object < Kernel < BasicObject
ハッシュテーブル(連想配列とも呼ぶ)のクラス。ハッシュは任意の種類のオブ ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。
ハッシュ生成は多くの場合以下のようなリテラル (リテラル/ハッシュ式) で行われます。
{a => b, ... } # aはキー、bは値となる {s: b , ... } # { :s => b, ... } と同じ。キーがシンボルの場合の省略した書き方
キーには任意の種類のオブジェクトを用いることができますが、 以下の2つのメソッドが適切に定義してある必要があります。
破壊的操作によってキーとして与えたオブジェクトの内容が変化し、Object#hash の返す 値が変わるとハッシュから値が取り出せなくなりますから、 Array、Hash などのインスタンスはキーに向きません。Hash#rehash を参照。
ただし、文字列をキーとして与えた場合は、文字列をコピーし、コピーを更新不可に設定 (Object#freeze) してキーとして 使用します。キーとして使われている文字列を更新しようとすると例外 TypeError が発生するので rehash を呼ぶ必要性は生じません。
ハッシュにはデフォルト値を設定することができます。存在しないキーを探索したときに返す値で、未設定時は nil です。 デフォルト値には値形式とブロック形式があります。 実際にデフォルト値がどのように扱われるかは各メソッドの説明を参照してください。
ハッシュに含まれる要素の順序が保持されるようになりました。 ハッシュにキーが追加された順序で列挙します。
定義 | 説明 | |
---|---|---|
self[other] -> Hash
|
新しいハッシュを生成します。 引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。 |
|
self[*key_and_value] -> Hash
|
新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。 |
|
new(ifnone = nil) -> Hash
|
空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。 |
|
new {|hash, key| ... } -> Hash
|
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。 |
|
try_convert(obj) -> Hash | nil
|
to_hash メソッドを用いて obj をハッシュに変換しようとします。 |
!
!=
all?
any?
chunk
collect
collect_concat
count
cycle
detect
drop
drop_while
each_cons
each_entry
each_slice
each_with_index
each_with_object
entries
find_all
find_index
first
grep
group_by
inject
max
max_by
min
min_by
minmax
minmax_by
none?
one?
partition
reverse_each
slice_before
sort_by
take
take_while
to_set
zip
=~
__id__
__send__
_dump
class
dclone
display
enum_for
extend
freeze
frozen?
initialize
initialize_copy
instance_eval
instance_exec
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
marshal_dump
marshal_load
method
method_missing
methods
must_be
must_be_close_to
must_be_empty
must_be_instance_of
must_be_kind_of
must_be_nil
must_be_same_as
must_be_within_epsilon
must_equal
must_include
must_match
must_raise
must_respond_to
must_send
must_throw
nil?
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
public_methods
remove_instance_variable
respond_to?
respond_to_missing?
singleton_class
singleton_method_added
singleton_method_removed
singleton_method_undefined
singleton_methods
taint
tainted?
tap
to_ary
to_int
to_io
to_proc
to_regexp
to_str
to_yaml
to_yaml_properties
to_yaml_style
trust
untaint
untrust
untrusted?
wont_be
wont_be_close_to
wont_be_empty
wont_be_instance_of
wont_be_kind_of
wont_be_nil
wont_be_same_as
wont_be_within_epsilon
wont_equal
wont_include
wont_match
wont_respond_to