这种情况正在发生,对我来说似乎很奇怪。
以下代码只打印空行:
matz = { "First name" => "Yukihiro",
"Last name" => "Matsumoto",
"Age" => 47,
"Nationality" => "Japanese",
"Nickname" => "Matz"
}
matz.each do |k|
puts matz[k]
end
如果我将其更改为
matz.each do |k|
puts k
puts matz[k]
end
作品
也
matz.each do |k,v|
puts matz[k]
end
作品
任何人都有任何解释
答案 0 :(得分:4)
在:
matz.each do |k|
puts matz[k]
end
每个k
都是一个表示键值对的数组,例如["First name", "Yukihiro"]
。由于这些对中没有一个是哈希matz
的关键,puts matz[k]
与puts nil
相同。