種類
- インスタンスメソッド (145)
- 特異メソッド (12)
ライブラリ
- ビルトイン (157)
キーワード
- [] (9)
- []= (3)
- assoc (2)
- default (6)
-
default
_ proc (3) - delete (6)
-
delete
_ if (6) - each (6)
-
each
_ key (6) -
each
_ pair (6) -
each
_ value (6) - fetch (3)
-
has
_ key? (3) -
has
_ value? (3) - include? (3)
- index (2)
- indexes (1)
- indices (1)
- invert (3)
-
keep
_ if (4) - key? (3)
- keys (3)
- member? (3)
- merge (6)
- merge! (6)
- new (6)
- reject (6)
- reject! (6)
- select (6)
- select! (4)
- shift (3)
- sort (6)
- store (3)
- update (6)
- value? (3)
-
values
_ at (3)
検索結果
先頭5件
-
Hash
# key(val) -> object (15120) -
値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。
...です。
Hash#index は 現バージョンの1.9では((<obsolete>)) です。
使用すると警告メッセージが表示されます。
@param val 探索に用いる値を指定します。
h = {:ab => "some" , :cd => "all" , :ef => "all"}
p h.key("some") #=> :ab
p h.key("all") #......=> :cd
p h.key("at") #=> nil
@see Hash#invert... -
Hash
# has _ key?(key) -> bool (6241) -
ハッシュが key をキーとして持つ時真を返します。
...ハッシュが key をキーとして持つ時真を返します。
@param key 探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false
@see Hash#has_value?... -
Hash
# key?(key) -> bool (6241) -
ハッシュが key をキーとして持つ時真を返します。
...ハッシュが key をキーとして持つ時真を返します。
@param key 探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false
@see Hash#has_value?... -
Hash
# each _ key {|key| . . . } -> self (6222) -
ハッシュのキーを引数としてブロックを評価します。
...序は不定です。
ブロック付きの場合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......が追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumeratorを返します。
{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
:b
p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>
@see Hash#each_pair,Hash#each_value... -
Hash
# each _ key -> Enumerator (6122) -
ハッシュのキーを引数としてブロックを評価します。
...が追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumeratorを返します。
{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
:b
p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>
@see Hash#each_pair,Hash#each_value... -
Hash
# each _ key -> Enumerable :: Enumerator (6116) -
ハッシュのキーを引数としてブロックを評価します。
...序は不定です。
ブロック付きの場合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
# keys -> [object] (6101) -
全キーの配列を返します。
...全キーの配列を返します。
h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.keys #=> ["a", 2, :c]
@see Hash#values,Hash#to_a... -
Hash
# include?(key) -> bool (3141) -
ハッシュが key をキーとして持つ時真を返します。
...ハッシュが key をキーとして持つ時真を返します。
@param key 探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false
@see Hash#has_value?... -
Hash
# member?(key) -> bool (3141) -
ハッシュが key をキーとして持つ時真を返します。
...ハッシュが key をキーとして持つ時真を返します。
@param key 探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false
@see Hash#has_value?... -
Hash
# fetch(key , default = nil) {|key| . . . } -> object (261) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
...
key に関連づけられた値を返します。該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
fetchはハッシュ自身にデフォ......ルト値が設定されていても単に無視します(挙動に変化がありません)。
@param key 探索するキーを指定します。
@param default 該当するキーが登録されていない時の返り値を指定します。
@raise IndexError 引数defaultもブロックも......exist"
"#{key} not exit" # warning: block supersedes default value argument
} # 警告が表示される。
h.default = "default"
p h.fetch(:two) # エラー key not found (KeyError)
@see Hash#[]......も単に無視します(挙動に変化がありません)。
@param key 探索するキーを指定します。
@param default 該当するキーが登録されていない時の返り値を指定します。
@raise KeyError 引数defaultもブロックも与えられてない時、キー... -
Hash
# delete(key) {|key| . . . } -> object (250) -
key に対応する要素を取り除きます。
...
key に対応する要素を取り除きます。
@param key 取り除くキーを指定します。
@return 取り除かれた要素の値を返します。
key に対応する要素が存在しない時には nil を返します。
与えられたブロックは 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) -> object | nil (150) -
key に対応する要素を取り除きます。
...
key に対応する要素を取り除きます。
@param key 取り除くキーを指定します。
@return 取り除かれた要素の値を返します。
key に対応する要素が存在しない時には nil を返します。
与えられたブロックは 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 {|key , value| . . . } -> self (139) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
...|key, value| key.to_i < 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......#reject,Hash#delete
@see Hash#keep_if,Hash#select!... -
Hash
# reject! {|key , value| . . . } -> self|nil (139) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
...|key, value| key.to_i < 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......#reject,Hash#delete
@see Hash#keep_if,Hash#select!... -
Hash
# []=(key , value) (137) -
key に対して value を関連づけます。value を返し ます。
...
key に対して value を関連づけます。value を返し
ます。
@param key キーを指定します。
@param value 値を指定します。
h = {}
h[:key] = "value"
p h #=>{:key => "value"}
@see Hash#[]... -
Hash
# store(key , value) -> object (137) -
key に対して value を関連づけます。value を返し ます。
...
key に対して value を関連づけます。value を返し
ます。
@param key キーを指定します。
@param value 値を指定します。
h = {}
h[:key] = "value"
p h #=>{:key => "value"}
@see Hash#[]... -
Hash
# [](key) -> object | nil (136) -
key に関連づけられた値を返します。
...key に関連づけられた値を返します。
該当するキーが登録されていない時には、デフォルト値を返します。
デフォルト値と値としての nil を区別する必要が
ある場合は Hash#fetch または Hash#has_key? を使ってください。
@param k......b] #=> "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
# assoc(key) -> Array | nil (130) -
ハッシュが key をキーとして持つとき、見つかった要素のキーと値のペア を配列として返します。
...ハッシュが key をキーとして持つとき、見つかった要素のキーと値のペア
を配列として返します。
key が見つからなかった場合は、nil を返します。
@param key 検索するキー
h = {"colors" => ["red", "blue", "green"],
"letters" =>... -
Hash
# default(key) -> object | nil (126) -
ハッシュのデフォルト値を返します。
...には 2 番目の形式か Hash#default_proc を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と引数 key をブロックに渡して評価し、その結果を返します。
@param key デフォルトのブロッ......。
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
. new {|hash , key| . . . } -> Hash (126) -
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値は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[1]... -
Hash
# select {|key , value| . . . } -> Array (124) -
key, value のペアについてブロックを評価し、真となるペアだけを含む 配列を生成して返します。
...
key, value のペアについてブロックを評価し、真となるペアだけを含む
配列を生成して返します。
生成される配列は、[key, value] を要素とする配列です。
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> [["b", 200], [... -
Hash
# select {|key , value| . . . } -> Hash (118) -
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
# reject {|key , value| . . . } -> Hash (114) -
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
# each {|key , value| . . . } -> self (109) -
ハッシュのキーと値を引数としてブロックを評価します。
...[: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......[: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) # => #<Enumerator: {:a=>1, :b=>2}:each_pair>
@see Hash#each_key,Hash#each_value... -
Hash
# each _ pair {|key , value| . . . } -> self (109) -
ハッシュのキーと値を引数としてブロックを評価します。
...[: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......[: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) # => #<Enumerator: {:a=>1, :b=>2}:each_pair>
@see Hash#each_key,Hash#each_value... -
Hash
# merge!(other) {|key , self _ val , other _ val| . . . } -> self (109) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...でない
場合は常に other の値を使います。
Hash#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param oth......=>"D"}
p foo #=> {1=>"a", 2=>"b", 3=>"c"}
p foo.merge!(bar) {|key, foo_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 (109) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...でない
場合は常に other の値を使います。
Hash#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param oth......=>"D"}
p foo #=> {1=>"a", 2=>"b", 3=>"c"}
p foo.merge!(bar) {|key, foo_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
# update(other) {|key , self _ val , other _ val| . . . } -> self (108) -
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
. [](*key _ and _ value) -> Hash (108) -
新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
...メソッドでは生成するハッシュにデフォルト値を指定することはできません。
Hash.newを使うか、Hash#default=で後から指定してください。
@param key_and_value 生成するハッシュのキーと値の組です。必ず偶数個(0を含む)指定しなけ......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 = [1, 2, 3]
vals......= ["a", "b", "c"]
alist = 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=>[......"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)] # => {1=>"a", 2=>"b", 3=>["c"]}
(3) キーと値の配列のペアからハッシュへ
keys = [1, 2, 3]......vals = ["a", "b", ["c"]]
alist = keys.zip(vals) # あるいは alist = [keys,vals].transpose
p Hash[alist] # => {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=>... -
Hash
# keep _ if {|key , value| . . . } -> self (103) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
...ct! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
@see Hash#select, Hash#delete_if,Hash#reject!... -
Hash
# select! {|key , value| . . . } -> self | nil (103) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
...ct! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
@see Hash#select, Hash#delete_if,Hash#reject!... -
Hash
# indexes(*keys) -> [object] (101) -
引数で指定されたキーに対応する値の配列を返します。
...ーに対応する値の配列を返します。
このメソッドは ((<obsolete>)) です。
使用すると警告メッセージが表示されます。
代わりに Hash#values_at を使用してください。
@param keys キーを任意個指定します。
@see Hash#values_at,Hash#[]... -
Hash
# indices(*keys) -> [object] (101) -
引数で指定されたキーに対応する値の配列を返します。
...ーに対応する値の配列を返します。
このメソッドは ((<obsolete>)) です。
使用すると警告メッセージが表示されます。
代わりに Hash#values_at を使用してください。
@param keys キーを任意個指定します。
@see Hash#values_at,Hash#[]... -
Hash
# values _ at(*keys) -> [object] (101) -
引数で指定されたキーに対応する値の配列を返します。
...たキーに対応する値の配列を返します。
キーに対応する要素がなければデフォルト値が使用されます。
@param keys キーを 0 個以上指定します。
@return 引数で指定されたキーに対応する値の配列を返します。
引数が指......定されなかった場合は、空の配列を返します。
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
# delete _ if -> Enumerable :: Enumerator (39) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
...|key, value| key.to_i < 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 -> Enumerator (39) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
...|key, value| key.to_i < 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
@see Hash#keep_if,Hash#select!... -
Hash
# reject! -> Enumerable :: Enumerator (39) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
...|key, value| key.to_i < 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! -> Enumerator (39) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
...|key, value| key.to_i < 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
@see Hash#keep_if,Hash#select!... -
Hash
# invert -> Hash (31) -
値からキーへのハッシュを作成して返します。
...。
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#key... -
Hash
# default -> object | nil (26) -
ハッシュのデフォルト値を返します。
...には 2 番目の形式か Hash#default_proc を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と引数 key をブロックに渡して評価し、その結果を返します。
@param key デフォルトのブロッ......。
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
# invert -> Hash (25) -
値からキーへのハッシュを作成して返します。
...。
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...
