2012-09-06 54 views
0

我在Ruby中使用嵌套哈希,但values_at方法沒有返回任何數據,我找不到原因。紅寶石嵌套哈希values_at不工作

j = {"grandpa" => { "dad" => {"child 1" => {}, "child 2" => {} }, "uncle" => {"child 3" => {}, "child 4" => {} } } } 
puts j.values_at("dad") 

它不打印任何東西。我認爲"child1""child2"應該打印,因爲它們的值都是"dad"

如果我跑values_at"grandpa"我收到正確的響應:我缺少的是左右格式

{"dad" => {"child 1" => {}, "child2" => {}}, "uncle" => {"child 3" => {}, "child 4" => {}}} 

?或者我只是不理解嵌套的哈希?

回答

2

根據包含與給定鍵

該方法不知道如何處理的嵌套散列相關聯的值的Hash#values_at documentation

返回的數組。您需要導航至您要搜索的散列級別。例如:

j["grandpa"].values_at("dad")