0

我在 Ruby 中使用嵌套哈希,但该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" => {}}}

我对格式缺少什么?还是我只是不理解嵌套哈希?

4

1 回答 1

1

根据Hash#values_at 文档

返回一个包含与给定键关联的值的数组

该方法不知道如何处理嵌套哈希。您需要向下导航到要搜索的哈希级别。例如:

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

于 2012-09-06T18:10:37.623 回答