簡體   English   中英

紅寶石在迭代中打印哈希值

[英]ruby print hash values in iteration

這正在發生,對我來說似乎很奇怪。

以下代碼只打印空白行:

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

作品

任何人都請解釋一下

在:

matz.each do |k|
  puts  matz[k]
end

每個k將是一個表示鍵-值對的數組,例如["First name", "Yukihiro"] 由於這些對都不是哈希matz的鍵,因此puts matz[k]puts nil相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM