1

我正在完成关于哈希的 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 |item, price| restaurant_menu[item] = price + (price * 0.1) end

如果我已经在迭代价格值,我不明白为什么需要额外调用哈希。

4

1 回答 1

0

您没有更新原始哈希。要更新原始哈希,您应该这样做:

restaurant_menu.each do |key, value|
  restaurant_menu[key] = value * 1.1
end

我重命名为item, pricetokey, value以明确这里发生了什么。我希望这是有道理的。如果没有,请发表评论。

于 2013-08-26T14:21:28.563 回答