検索結果
-
Hash
# invert -> Hash (18120) -
値からキーへのハッシュを作成して返します。
...00 }
p h.invert #=> {0=>"a", 100=>"b", 200=>"c", 300=>"e"}
==== 参考
値が重複していたときに備えて、変換後の値を配列として保持するには、次のようにします。
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......, 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
# index(val) -> object (7) -
値 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......素が存在しない時には
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
# key(val) -> object (7) -
値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。
...素が存在しない時には
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...
