2013-10-15 101 views
0

現在我有一個雙哈希稱爲像下面的數據項:如何獲得哈希

data [name][action] 

data = {"Mike" => {"Walked" => 13, "Ran" => 5}, "Steve" => {...}} 

對於這個特定的哈希,我真的不知道在哈希鍵,我只是想遍歷它,就像這樣:

data.each |item| do 
    #how to get the key name for item here? 
    puts item["Walked"].to_s 
    puts item["Ran"].to_s 
end 

我想拿到鑰匙,所以我可以在旁邊VA在表中顯示它梅毒。

+2

[哈希#each_pair {|鍵,值|塊}](http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-each_pair) – iamnotmaynard

回答

1

您可以使用每一個鍵,值的語法,如each documentation描述:

data.each do |key, values| 
    puts key.to_s 
    values.each do |value| 
    value.to_s 
    end 
end 

你也可以使用keysvalues取決於你想達到什麼。

data.keys.each do |key| 
    puts key #lists all keys 
end 

data.values.each do |value| 
    puts value #lists all values 
end 

data.keys.first #first key 

等等。

2

可以使用迭代一個哈希:

data.each do |key, value| 

end 
+0

感謝您的快速回復 – Chris