在Ruby中嵌套哈希中打印所有键值?

时间:2018-01-31 16:49:30

标签: ruby

我有以下哈希:

doc = {"house"=>{"Team 1"=>0, "Team 2"=>0, "Team 3"=>0, "Team 4"=>0}}

我正在尝试打印" Team"密钥。

例如:

Team 1
Team 2
Team 3
Team 4

我尝试使用doc.values,但这会返回一个数组[{"Team 1"=>0, "Team 2"=>0, "Team 3"=>0, "Team 4"=>0}]。这意味着我无法doc.values.keys

我尝试使用for循环,但不知怎的,它以这种方式打印值:

Team 1
0
Team 2
0
..

有没有办法获得这些钥匙?

1 个答案:

答案 0 :(得分:3)

这应该这样做:

puts doc["house"].keys

如果你不必知道第一把钥匙是什么,这也有效:

puts doc.values.flat_map(&:keys)

只是为了好玩,这是第三种方法,如果你知道那里总是只有一个外键:

puts doc[doc.keys.first].keys

你之后的事情是什么?希望它有所帮助 - 如果您有任何问题,请告诉我们!

相关问题