我正在處理'訂單和成本'https://rubymonk.com/learning/books/1-ruby-primer/problems/155-restaurant的問題。問題說明是:以下教程中如何使用相同的按鍵將菜單項與訂購商品價格相關聯?
餐廳有傳入的訂單,您需要根據菜單計算出 的成本。
你可能有時
還有就是鍛鍊低於溶液(見解決方案)獲得多個訂單,看起來像這樣:
class Restaurant
def initialize(menu)
@menu = menu
end
def cost(*orders)
orders.inject(0) do |total_cost, order|
total_cost + order.keys.inject(0) {|cost, key| cost + @menu[key]*order[key] }
end
end
end
我不明白整個算法:我認爲是這樣 - 在def cost(*orders)
total_cost
是訂單成本。 key
是項目,在這種情況下:米飯和麪條,但什麼是@menu[key]*order[key]
的含義,我無法猜測。
任何人都可以解釋我這個練習嗎?