迭代哈希打印哈希?

时间:2014-10-09 20:42:46

标签: ruby hash

我在Ruby中迭代了一堆嵌套的哈希:

@data.each do |key, value|
    puts "Key: #{key}"
    puts "Value: #{value}"
end

输出:

Key: 1.0
Value: {"label"=>"Default Label"}
{"1.0"=>{"label"=>"Default Label"}}

现在我真的不明白为什么打印最后一行。当我删除两个" puts"它甚至会打印出来。来自循环的调用。 我试图在网上找到一些关于这种行为但却无法找到的东西。 我可以用任何方式防止这种情况发生吗?或者我误解了每个"每个"打电话给哈希?

1 个答案:

答案 0 :(得分:7)

你在REPL中这样做。

默认情况下,REPL返回(并打印)最后执行的语句的值。

在这种情况下,它是each,它会返回它迭代的集合,因此您可以看到原始哈希。

相关问题