我正在玩嵌套哈希,我正试图找出当哈希是嵌套哈希时如何获取多个键:
imahash = { :id => { :name => "Alma", :email => "alma@mail.com" },
:stats => { :gender => "Female" },
:location => { :city => "Freeport", :state => "Maine" }
}
我知道如何检索嵌套值,输入哈希名称将转储所有键和值。但我想要做的是获取特定的密钥,例如:name和:gender only。或者:名称和:仅限城市。
这可能吗?因为根据我的发现,您似乎只能一次检索一个键的哈希值或一次检索所有键的哈希值。
我想要的输出类似于:
=> { :id => { :name => "Alma" }, :location => { :city => "Freeport" } }
答案 0 :(得分:0)
我认为你想要在元组中获取值?您可以创建一个包含所需值集合的数组。
请尝试以下名称和城市:
[imahash[:id][:name], imahash[:location][:city]]
=> ["Alma", "Freeport"]
答案 1 :(得分:0)
不完全确定你在这里问的是什么,但似乎你想从更大的那个创建一个新的哈希。
要获取特定键,例如:name和:仅限性别
name_and_gender_hash = {
:name => imahash[:id][:name],
:gender => imahash[:stats][:gender]
}
会导致
{:name => "Alma", :gender => "female"}