我正在通過哈希函數的RubyMonk練習 練習是將restaurant_menu的價格更改爲10%。 我的解決方案不正確。我遍歷每個元組並改變價格值。更改哈希函數的值
restaurant_menu = { "Ramen" => 3, "Dal Makhani" => 4, "Coffee" => 2 }
restaurant_menu.each do |item, price|
price = price * 1.1
end
正確的解決方案在這裏。 restaurant_menu = {「Ramen」=> 3,「Dal Makhani」=> 4,「Coffee」=> 2} restaurant_menu.each do | item,price | restaurant_menu [項目] =價格+(價格×0.1) 結束
我不明白爲什麼對哈希額外的調用是必要的,如果我已經在價格值迭代。
我不太瞭解ruby,但我期望在您的原始代碼中,您只需更新本地(堆棧)變量'price',而不是存儲在散列表中的值。 – Alex
亞歷克斯。你的意思是有一個局部變量的價格獨立於哈希表中的一個? – jingyang81
是的,這就是我的意思,堆棧中的變量在每次迭代期間被分配從哈希表中取出的值。即與哈希表中的'價格'字段不同的內存位置(參考,指針,選擇您喜歡的術語)。 – Alex