我有一个哈希值h1和密钥k1.我需要为散列中的给定键返回完整的键值对.
喜欢关键'鱼'我需要打印'鱼'=>'水生动物'
@ h1,打印所有键值对.我需要打印给定键的键值对的方法
我对红宝石很新,所以对于这个虚假的问题感到抱歉.
hal*_*elf 11
有一种方法,Hash#assoc可以做类似的事情.但它返回数组中的键和值,您可以轻松地将其更改为哈希.另一种方法是使用Hash #select,它根据给定的块返回一个哈希值.
h1 = { "fish" => "aquatic animal", "tiger" => "big cat" }
h1.assoc "fish" # ["fish", "aquatic animal"]
h1.select { |k,v| k == "fish" } # {"fish"=>"aquatic animal"}
Run Code Online (Sandbox Code Playgroud)
在红宝石> = 1.9
value_hash = Hash[*h1.assoc(k1)]
p value_hash # {"fish"=>"aquatic animal"}
Run Code Online (Sandbox Code Playgroud)
在红宝石<1.9
value_hash = Hash[k1, h1[k1]]
p value_hash # {"fish"=>"aquatic animal"}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13189 次 |
最近记录: |