るりまサーチ (Ruby 1.8.7)

最速Rubyリファレンスマニュアル検索!
74件ヒット [1-74件を表示] (0.010秒)
トップページ > バージョン:1.8.7[x] > クラス:Hash[x]

ライブラリ

キーワード

検索結果

Hash#==(other) -> bool (2)

自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。

...して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。

@param other 自身と比較したい Hash オブジェクトを指定します。

#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a,...
...2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> false ( 1.eql?(1.0) は false なので)

{ :x => 1 } == { :x => 1.0 } #=> true ( 1 == 1.0 は true なので)

@see Hash#equal?...

Hash#===(other) -> bool (2)

自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。

...して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。

@param other 自身と比較したい Hash オブジェクトを指定します。

#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a,...
...2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> false ( 1.eql?(1.0) は false なので)

{ :x => 1 } == { :x => 1.0 } #=> true ( 1 == 1.0 は true なので)

@see Hash#equal?...

Hash#[](key) -> object | nil (2)

key に関連づけられた値を返します。

...別する必要が
ある場合は Hash#fetch または Hash#has_key? を使ってください。

@param key 探索するキーを指定します。

h = {:ab => "some" , :cd => "all"}
p h[:ab] #=> "some"
p h[:ef] #=> nil

h1 = Hash.new("default value")
p h1[:non...
...] #=> "default value"

h2 = Hash.new {|*arg| arg}
p h2[:non] #=> [{}, :non]

@see Hash.new, Hash#fetch,Hash#values_at,Hash#has_key?, Hash#default, Hash#default_proc...

Hash#[]=(key, value) (2)

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

...@param key キーを指定します。
@param value 値を指定します。


h = {}

h[:key] = "value"
p h #=>{:key => "value"}

@see Hash#[]...

Hash#clear -> self (2)

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

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

空にした後のselfを返します。
デフォルト値の設定はクリアされません。

h = Hash.new("default value")
h[:some] = "some"
p h #=> {:some=>"some"}

h.clear

p h #=> {}
p h.default #=> "default value"...

絞り込み条件を変える

Hash#clone -> Hash (2)

selfと同じ内容を持つ新しいハッシュを返します。

selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen tainted singleton-class の情報も含めてコピーしますが、 dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。つまり参照しているオブジェクトが
変わらない「浅い(shallow)」コピーを行います。

h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup

h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p...

Hash#default -> object | nil (2)

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

...nil になることに注意してください。この場合、ハッシュのデフォルト値に
ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。

2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と...
...

h = Hash.new("default")
p h.default #=> "default"
p h.default(:some) #=> "default"
p h #=>{}

h = Hash.new{|hash, key| hash[key] ="default" }
p h.default #=> nil
p h.default(:some) #=> "default"
p h #=> {:some=>"default"}

h = Hash.new
p h.de...
...fault #=> nil
p h.default(:some) #=> nil
p h #=> {}

@see Hash#default=, Hash#default_proc...

Hash#default(key) -> object | nil (2)

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

...nil になることに注意してください。この場合、ハッシュのデフォルト値に
ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。

2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と...
...

h = Hash.new("default")
p h.default #=> "default"
p h.default(:some) #=> "default"
p h #=>{}

h = Hash.new{|hash, key| hash[key] ="default" }
p h.default #=> nil
p h.default(:some) #=> "default"
p h #=> {:some=>"default"}

h = Hash.new
p h.de...
...fault #=> nil
p h.default(:some) #=> nil
p h #=> {}

@see Hash#default=, Hash#default_proc...

Hash#default=(value) (2)

ハッシュのデフォルト値を value に変更します。対応する値が存 在しないキーで検索した時にはこの値を返すようになります。

...ルト値(ブロックを含む)が既に設定してあった場合も value で上書きします。

@param value 設定するデフォルト値です。
@return value を返します。

h = {}
p h.default #=>nil

h.default = "default"
p h.default #=>"default"

@see Hash#default...

Hash#default_proc -> Proc | nil (2)

ハッシュのデフォルト値を返す Proc オブジェクトを返します。 ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。

...い場合 nil を返します。

h = Hash.new {|hash, key| "The #{key} not exist in #{hash.inspect}"}
p h.default #=> nil
p block = h.default_proc #=> #<Proc:0x0x401a9ff4>
p block.call({},:foo) #=> "The foo not exist in {}"

h = Hash.new("default")
p h.default...
...#=> "default"
p h.default_proc #=> nil

@see Hash#default...

絞り込み条件を変える

Hash#delete(key) -> object | nil (2)

key に対応する要素を取り除きます。

...key にマッチする要素がなかった時に評価され、その結果を返します。

h = {:ab => "some" , :cd => "all"}

p h.delete(:ab) #=> "some"
p h.delete(:ef) #=> nil
p h.delete(:ef){|key|"#{key} Nothing"} #=> "ef Nothing"

p h #=> {:cd=>"all"}

@see Hash#delete_if...

Hash#delete(key) {|key| ... } -> object (2)

key に対応する要素を取り除きます。

...key にマッチする要素がなかった時に評価され、その結果を返します。

h = {:ab => "some" , :cd => "all"}

p h.delete(:ab) #=> "some"
p h.delete(:ef) #=> nil
p h.delete(:ef){|key|"#{key} Nothing"} #=> "ef Nothing"

p h #=> {:cd=>"all"}

@see Hash#delete_if...

Hash#delete_if -> Enumerable::Enumerator (2)

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

...< value.to_i } #=> { 6 => "4", 8 => "2" }
p h #=> { 6 => "4", 8 => "2" }

p h.delete_if{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> nil

@see Hash#reject,Hash#delete...

Hash#delete_if {|key, value| ... } -> self (2)

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

...< value.to_i } #=> { 6 => "4", 8 => "2" }
p h #=> { 6 => "4", 8 => "2" }

p h.delete_if{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> nil

@see Hash#reject,Hash#delete...

Hash#dup -> Hash (2)

selfと同じ内容を持つ新しいハッシュを返します。

selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen tainted singleton-class の情報も含めてコピーしますが、 dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。つまり参照しているオブジェクトが
変わらない「浅い(shallow)」コピーを行います。

h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup

h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p...

絞り込み条件を変える

Hash#each -> Enumerable::Enumerator (2)

ハッシュのキーと値を引数としてブロックを評価します。

...[:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
[[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]} #each_pairでも同じ結果
#=> [:a, 1]
[:b, 2]

p({:a=>1, :b=>2}.each_pair) # => #<Enumerable::Enumerator:0xbb19e4>

@see Hash#each_key,Hash#each_value...

Hash#each {|key, value| ... } -> self (2)

ハッシュのキーと値を引数としてブロックを評価します。

...[:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
[[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]} #each_pairでも同じ結果
#=> [:a, 1]
[:b, 2]

p({:a=>1, :b=>2}.each_pair) # => #<Enumerable::Enumerator:0xbb19e4>

@see Hash#each_key,Hash#each_value...

Hash#each_key -> Enumerable::Enumerator (2)

ハッシュのキーを引数としてブロックを評価します。

...序は不定です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumerable::Enumeratorを返します。

{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
:b

p({:a=>1, :b=>2}.each_key) #=> #<Enumerable::Enumerator:0xbb19e4>

@see Hash#each_pair,Hash#each_value...

Hash#each_key {|key| ... } -> self (2)

ハッシュのキーを引数としてブロックを評価します。

...序は不定です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumerable::Enumeratorを返します。

{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
:b

p({:a=>1, :b=>2}.each_key) #=> #<Enumerable::Enumerator:0xbb19e4>

@see Hash#each_pair,Hash#each_value...

Hash#each_pair -> Enumerable::Enumerator (2)

ハッシュのキーと値を引数としてブロックを評価します。

...[:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
[[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]} #each_pairでも同じ結果
#=> [:a, 1]
[:b, 2]

p({:a=>1, :b=>2}.each_pair) # => #<Enumerable::Enumerator:0xbb19e4>

@see Hash#each_key,Hash#each_value...

絞り込み条件を変える

Hash#each_pair {|key, value| ... } -> self (2)

ハッシュのキーと値を引数としてブロックを評価します。

...[:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
[[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]} #each_pairでも同じ結果
#=> [:a, 1]
[:b, 2]

p({:a=>1, :b=>2}.each_pair) # => #<Enumerable::Enumerator:0xbb19e4>

@see Hash#each_key,Hash#each_value...

Hash#each_value -> Enumerable::Enumerator (2)

ハッシュの値を引数としてブロックを評価します。

...順序は不定です。
ブロック付きの場合selfを、
無しで呼ばれた場合 Enumerable::Enumerator を返します。

{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
2

p({:a=>1, :b=>2}.each_value) #=> #<Enumerable::Enumerator:0xbb19e4>

@see Hash#each_pair,Hash#each_key...

Hash#each_value {|value| ... } -> self (2)

ハッシュの値を引数としてブロックを評価します。

...順序は不定です。
ブロック付きの場合selfを、
無しで呼ばれた場合 Enumerable::Enumerator を返します。

{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
2

p({:a=>1, :b=>2}.each_value) #=> #<Enumerable::Enumerator:0xbb19e4>

@see Hash#each_pair,Hash#each_key...

Hash#empty? -> bool (2)

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

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

puts({}.empty?) #=> true

Hash#eql?(other) -> bool (2)

自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。

...して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。

@param other 自身と比較したい Hash オブジェクトを指定します。

#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a,...
...2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> false ( 1.eql?(1.0) は false なので)

{ :x => 1 } == { :x => 1.0 } #=> true ( 1 == 1.0 は true なので)

@see Hash#equal?...

絞り込み条件を変える

Hash#equal?(other) -> bool (2)

指定された other が self 自身である場合のみ真を返します。

...身である場合のみ真を返します。

@param other 自身と比較したい Hash オブジェクトを指定します。

p({}.equal?({})) #=> false
a = {}
p a.equal?(a) #=> true

@see Hash#==...

Hash#fetch(key, default = nil) {|key| ... } -> object (2)

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

...exist"
"#{key} not exit" # warning: block supersedes default value argument
} # 警告が表示される。

h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)

@see Hash#[]...

Hash#has_key?(key) -> bool (2)

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

...ます。

@param key 探索するキーを指定します。

p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false

@see Hash#has_value?...

Hash#has_value?(value) -> bool (2)

ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。

...@param value 探索する値を指定します。

p({1 => "one"}.has_value?("one")) #=> true
p({1 => "one"}.has_value?("two")) #=> false

@see Hash#has_key?...

Hash#hash -> Integer (2)

自身の Object#object_id を返します。これは Object クラスで定義されたデフォルトの動作です。 メソッド hash の返り値は自身が保持するキーや値に影響されません。

...bject クラスで定義されたデフォルトの動作です。
メソッド hash の返り値は自身が保持するキーや値に影響されません。

a = {}
p a.hash #=> 538688380
a[1] = :a
p a.hash #=> 538688380...

絞り込み条件を変える

Hash#include?(key) -> bool (2)

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

...ます。

@param key 探索するキーを指定します。

p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false

@see Hash#has_value?...

Hash#index(val) -> object (2)

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

...素が存在しない時には
nil を返します。

該当するキーが複数存在する場合、どのキーを返すかは不定です。


Hash
#index は 次バージョンの1.9では((<obsolete>)) です。
使用すると警告メッセージが表示されます。



@param val 探索...
...に用いる値を指定します。

h = {:ab => "some" , :cd => "all" , :ef => "all"}

p h.index("some") #=> :ab
p h.index("all") #=> :cd
p h.index("at") #=> nil

@see Hash#invert...

Hash#indexes(*keys) -> [object] (2)

引数で指定されたキーに対応する値の配列を返します。

...ーに対応する値の配列を返します。

このメソッドは ((<obsolete>)) です。
使用すると警告メッセージが表示されます。
代わりに Hash#values_at を使用してください。

@param keys キーを任意個指定します。


@see Hash#values_at,Hash#[]...

Hash#indices(*keys) -> [object] (2)

引数で指定されたキーに対応する値の配列を返します。

...ーに対応する値の配列を返します。

このメソッドは ((<obsolete>)) です。
使用すると警告メッセージが表示されます。
代わりに Hash#values_at を使用してください。

@param keys キーを任意個指定します。


@see Hash#values_at,Hash#[]...

Hash#inspect -> String (2)

ハッシュの内容を人間に読みやすい文字列にして返します。

ハッシュの内容を人間に読みやすい文字列にして返します。

h = { "c" => 300, "a" => 100, "d" => 400, "c" => 300 }
h.inspect # => "{\"a\"=>100, \"c\"=>300, \"d\"=>400}"

絞り込み条件を変える

Hash#invert -> Hash (2)

値からキーへのハッシュを作成して返します。

...

def safe_invert(orig_hash)
result = Hash.new{|h,key| h[key] = [] }
orig_hash.each{|key, value|
result[value] << key
}
result
end
p safe_invert({"a"=>1, "b"=>1, "c"=>3})
#=> {1=>["a", "b"], 3=>["c"]}

#転載:Rubyレシピブック No.120
@see Hash#index...

Hash#key?(key) -> bool (2)

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

...ます。

@param key 探索するキーを指定します。

p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false

@see Hash#has_value?...

Hash#keys -> [object] (2)

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

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

h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.keys #=> ["a", 2, :c]

@see Hash#values,Hash#to_a...

Hash#length -> Integer (2)

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

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

puts({:ant => 9 ,:dog => 101 ,:cat => 3}.length) #=> 3

Hash#member?(key) -> bool (2)

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

...ます。

@param key 探索するキーを指定します。

p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false

@see Hash#has_value?...

絞り込み条件を変える

Hash#merge!(other) -> self (2)

selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。

...でない
場合は常に other の値を使います。

Hash
#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。

otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

@param oth...
..._val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}
p foo #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}

class Foo
def to_hash
{:Australia => 'Sydney',
:France => 'Paris'
}
end
end

h = {:Germany => 'Berlin',
:Australia => 'Canberra',...
...:France => 'Paris'
}
h.merge!(Foo.new) #暗黙の変換
p h #=> {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}

@see Hash#update,Hash#replace...

Hash#merge!(other) {|key, self_val, other_val| ... } -> self (2)

selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。

...でない
場合は常に other の値を使います。

Hash
#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。

otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

@param oth...
..._val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}
p foo #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}

class Foo
def to_hash
{:Australia => 'Sydney',
:France => 'Paris'
}
end
end

h = {:Germany => 'Berlin',
:Australia => 'Canberra',...
...:France => 'Paris'
}
h.merge!(Foo.new) #暗黙の変換
p h #=> {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}

@see Hash#update,Hash#replace...

Hash#merge(other) -> Hash (2)

selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。

...でない
場合は常に other の値を使います。

Hash
#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。

otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

@param oth...
..._val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}
p foo #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}

class Foo
def to_hash
{:Australia => 'Sydney',
:France => 'Paris'
}
end
end

h = {:Germany => 'Berlin',
:Australia => 'Canberra',...
...:France => 'Paris'
}
h.merge!(Foo.new) #暗黙の変換
p h #=> {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}

@see Hash#update,Hash#replace...

Hash#merge(other) {|key, self_val, other_val| ... } -> Hash (2)

selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。

...でない
場合は常に other の値を使います。

Hash
#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。

otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

@param oth...
..._val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}
p foo #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}

class Foo
def to_hash
{:Australia => 'Sydney',
:France => 'Paris'
}
end
end

h = {:Germany => 'Berlin',
:Australia => 'Canberra',...
...:France => 'Paris'
}
h.merge!(Foo.new) #暗黙の変換
p h #=> {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}

@see Hash#update,Hash#replace...

Hash#rehash -> self (2)

キーのハッシュ値を再計算します。

...@raise RuntimeError Hash#eachなどのイテレータの評価途中でrehashすると発生します。
@return selfを返します。

a = [ "a", "b" ]
h = { a => 100 }

p h[a] #=> 100

a[0] = "z"
p h[a] #=> nil

h.rehash
p h[a] #=> 100

@see Object#hash...

絞り込み条件を変える

Hash#reject -> Enumerable::Enumerator (2)

self を複製して、ブロックを評価した値が真になる要 素を削除したハッシュを返します。

...とほぼ同じです。
selfを破壊的に変更したい場合はかわりにHash#delete_ifかHash#reject!を使います。

h = { 2 =>"8" ,4 =>"6" ,6 =>"4" ,8 =>"2" }

p h.reject{|key, value| key.to_i < value.to_i} #=> {6=>"4", 8=>"2"}

@see Hash#delete_if,Hash#delete,Enumerable#reject...

Hash#reject {|key, value| ... } -> Hash (2)

self を複製して、ブロックを評価した値が真になる要 素を削除したハッシュを返します。

...とほぼ同じです。
selfを破壊的に変更したい場合はかわりにHash#delete_ifかHash#reject!を使います。

h = { 2 =>"8" ,4 =>"6" ,6 =>"4" ,8 =>"2" }

p h.reject{|key, value| key.to_i < value.to_i} #=> {6=>"4", 8=>"2"}

@see Hash#delete_if,Hash#delete,Enumerable#reject...

Hash#reject! -> Enumerable::Enumerator (2)

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

...< value.to_i } #=> { 6 => "4", 8 => "2" }
p h #=> { 6 => "4", 8 => "2" }

p h.delete_if{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> nil

@see Hash#reject,Hash#delete...

Hash#reject! {|key, value| ... } -> self|nil (2)

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

...< value.to_i } #=> { 6 => "4", 8 => "2" }
p h #=> { 6 => "4", 8 => "2" }

p h.delete_if{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> nil

@see Hash#reject,Hash#delete...

Hash#replace(other) -> self (2)

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

...ます。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

self = other.to_hash.dup と同じです。

@param other ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return self...
...ace(bar)
p foo #=> {2=>"B", 3=>"C"}

zoo = {}
zoo = bar.dup
p zoo #=> {2=>"B", 3=>"C"}

class Foo
def to_hash
{:japan => 'kyoto'}
end
end

h = Hash.new
h.replace(Foo.new) #暗黙の変換
p h #=> {:japan=>"kyoto"}

@see Hash#dup,Hash#merge,Object#to_hash...

絞り込み条件を変える

Hash#select -> Enumerable::Enumerator (2)

key, value のペアについてブロックを評価し、真となるペアだけを含む 配列を生成して返します。

key, value のペアについてブロックを評価し、真となるペアだけを含む
配列を生成して返します。

生成される配列は、[key, value] を要素とする配列です。

h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> [["b", 200], ["c", 300]]
h.select {|k,v| v < 200} #=> [["a", 100]]

Hash#select {|key, value| ... } -> Array (2)

key, value のペアについてブロックを評価し、真となるペアだけを含む 配列を生成して返します。

key, value のペアについてブロックを評価し、真となるペアだけを含む
配列を生成して返します。

生成される配列は、[key, value] を要素とする配列です。

h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> [["b", 200], ["c", 300]]
h.select {|k,v| v < 200} #=> [["a", 100]]

Hash#shift -> [object, object] (2)

ハッシュから要素をひとつ取り除き、[key, value]という配列とし て返します。shiftがどの要素を返すかは不定です。

...す。selfは要素を取り除かれた残りのハッシュに変更されます。

ハッシュが空の場合、デフォルト値(Hash#defaultまたはHash#default_procのブロックの値か、どちらもnilならばnil)
を返します(このとき、[key,value] という形式の値...
...[:cd, "all"]
p h #=> {}
p h.shift #=> nil

h1 = Hash.new("default value")
p h1 #=> {}
p h1.shift #=> "default value"

h2 = Hash.new {|*arg| arg}
p h2 #=> {}
p h2.shift #=> [{}, nil]...

Hash#size -> Integer (2)

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

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

puts({:ant => 9 ,:dog => 101 ,:cat => 3}.length) #=> 3

Hash#sort -> Array (2)

ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー トした配列を返します。

ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー
トした配列を返します。

h = { "a" => 20, "b" => 30, "c" => 10 }
h.sort #=> [["a", 20], ["b", 30], ["c", 10]]
h.sort {|a,b| a[1]<=>b[1]} #=> [["c", 10], ["a", 20], ["b", 30]]

@see Array#sort

絞り込み条件を変える

Hash#sort {|a, b| ... } -> Array (2)

ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー トした配列を返します。

ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー
トした配列を返します。

h = { "a" => 20, "b" => 30, "c" => 10 }
h.sort #=> [["a", 20], ["b", 30], ["c", 10]]
h.sort {|a,b| a[1]<=>b[1]} #=> [["c", 10], ["a", 20], ["b", 30]]

@see Array#sort

Hash#store(key, value) -> object (2)

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

...@param key キーを指定します。
@param value 値を指定します。


h = {}

h[:key] = "value"
p h #=>{:key => "value"}

@see Hash#[]...

Hash#taguri -> String (2)

自身のタグ URI を返します。

自身のタグ URI を返します。

Hash#taguri=(val) (2)

自身のタグ URI を val に設定します。

自身のタグ URI を val に設定します。

@param val タグ URI を文字列で指定します。

Hash#to_a -> [Array] (2)

キーと値からなる 2 要素の配列を並べた配列を生成して返します。

...列を並べた配列を生成して返します。

h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.to_a #=> c, "c"

@see Hash#keys,Hash#values...

絞り込み条件を変える

Hash#to_hash -> self (2)

self を返します。

...self を返します。

@see Object#to_hash...

Hash#to_s -> String (2)

ハッシュの内容を self.to_a.to_s で文字列化して返します。

ハッシュの内容を self.to_a.to_s で文字列化して返します。

h = { "c" => 300, "a" => 100, "d" => 400, "c" => 300 }
h.to_s # => "a100c300d400"

Hash#to_yaml(opts = {}) (2)

自身を YAML ドキュメントに変換します。

自身を YAML ドキュメントに変換します。

@param opts YAML ドキュメント出力の際のオプションを指定します。
オプションの詳細は YAML::Syck::Emitter#reset を参照し
てください。

print({"foo" => "bar"}.to_yaml)
# => ---
foo: bar

Hash#update(other) -> self (2)

selfとotherのハッシュの内容をマージ(統合)します。Hash#merge!と同じです。

...合)します。Hash#merge!と同じです。

デフォルト値はselfの設定のままです。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

@param other マージ用のハッシュまたはメソッド to_hash でハッシュ...
...> 'C', 4 => 'D'}

p foo.update(bar) #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}

p foo.update(bar) {|key, foo_val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
p foo #=> {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}

@see Hash#merge!...

Hash#update(other) {|key, self_val, other_val| ... } -> self (2)

selfとotherのハッシュの内容をマージ(統合)します。Hash#merge!と同じです。

...合)します。Hash#merge!と同じです。

デフォルト値はselfの設定のままです。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

@param other マージ用のハッシュまたはメソッド to_hash でハッシュ...
...> 'C', 4 => 'D'}

p foo.update(bar) #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}

p foo.update(bar) {|key, foo_val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
p foo #=> {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}

@see Hash#merge!...

絞り込み条件を変える

Hash#value?(value) -> bool (2)

ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。

...@param value 探索する値を指定します。

p({1 => "one"}.has_value?("one")) #=> true
p({1 => "one"}.has_value?("two")) #=> false

@see Hash#has_key?...

Hash#values -> [object] (2)

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

...ュの全値の配列を返します。

h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.values #=> [100, ["some"], "c"]

@see Hash#keys,Hash#to_a...

Hash#values_at(*keys) -> [object] (2)

引数で指定されたキーに対応する値の配列を返します。

...します。
引数が指定されなかった場合は、空の配列を返します。

h = {1=>"a", 2=>"b", 3=>"c"}

p h.values_at(1,3,4) #=> ["a", "c", nil]
# [h[1], h[3] ,h[4]] と同じ

@see Hash#[] , Hash.new, Hash#default, Hash#default_proc, Array#values_at...

Hash#yaml_initialize(tag, val) (2)

ライブラリ内部で使用します。

ライブラリ内部で使用します。

Hash.[](*key_and_value) -> Hash (2)

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

...値になります。

このメソッドでは生成するハッシュにデフォルト値を指定することはできません。
Hash
.newを使うか、Hash#default=で後から指定してください。

@param key_and_value 生成するハッシュのキーと値の組です。必ず偶数...
..., 値, ...] の配列からハッシュへ

ary = [1,"a", 2,"b", 3,"c"]
p Hash[*ary] # => {1=>"a", 2=>"b", 3=>"c"}

(2) キーと値のペアの配列からハッシュへ

alist = [[1,"a"], [2,"b"], [3,"c"]]
p Hash[*alist.flatten] # => {1=>"a", 2=>"b", 3=>"c"}

(3) キーと値の配列...
...keys.zip(vals) # あるいは alist = [keys,vals].transpose
p Hash[*alist.flatten] # => {1=>"a", 2=>"b", 3=>"c"}

(4) キーや値が配列の場合

alist = [[1,["a"]], [2,["b"]], [3,["c"]], [[4,5], ["a", "b"]]]
hash
= Hash[alist] # => {1=>["a"], 2=>["b"], 3=>["c"], [4, 5]=>["a", "b"]}...

絞り込み条件を変える

Hash.[](other) -> Hash (2)

新しいハッシュを生成します。 引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。

...のキーと値を持つ新たなハッシュを生成して返します。

引数otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

デフォルト値はコピーしません。生成されたハッシュのデフォルト値は nil...
...影響します。

@param other 生成元となるハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。

h = {1 => "value"}
h.default = "none"

g = Hash[h]
p g #=> {1=>"value"}

p h[:no] #=> "none"
p g[:no] #=> nil

h[:add] = "som...

Hash.new {|hash, key| ... } -> Hash (2)

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。

...空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値はHash#default_procで参照できます。

値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、そ...
...ト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new("foo")

p h[1] #=> "foo"
p h[1].object_id #=> 6127170
p h[1] << "bar" #=> "foobar"
p h[1]...
...だ無いキーが呼び出される度に
# ブロックを評価するので、全て別のオブジェクトになります。
h = Hash.new {|hash, key| hash[key] = "foo"}

p h[1] #=> "foo"
p h[1].object_id #=> 6126900
p h[1] << "bar" #=> "foobar"
p h...

Hash.new(ifnone = nil) -> Hash (2)

空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

...fnone はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

ifnoneを省略した Hash.new は {} と同じです。

デフォルト値として、毎回同一のオブジェクトifnoneを返します...
...
それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。

h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]

これを避けるには、破壊的でないメソッドで再代入する必要が有ります。
また、...
...h = Hash.new([])

p h[1] #=> []
p h[1].object_id #=> 6127150
p h[1] << "bar" #=> ["bar"]
p h[1] #=> ["bar"]

p h[2] #=> ["bar"]
p h[2].object_id #=> 6127150

p h #=> {}


h = Hash.new(...

Hash.yaml_tag_subclasses? -> true (2)

常に true を返します。

常に true を返します。

ライブラリ内部で使用します。