Ruby Monk Primer "주문 및 비용"문제를 해결하려고합니다. https://rubymonk.com/learning/books/1-ruby-primer/problems/155-restaurant[] .each와 [] .array.inject 구현의 차이점 (Ruby Monk Challenge)
하나의 주문이 통과되었지만 여러 주문이 아닌 경우에만 작동하는 솔루션을 고안했습니다.
내 코드가 제안 된 대답과 기능적으로 다른 점을 이해하는 데 어려움을 겪고 있습니다. 또한 Ruby Monk이 "여러 주문"을 전달하는 방식을 이해하지 못합니다. 주입과. 각 사이의 모든 설명은 매우 도움이 될 것입니다. 루비 스님의 코드에 비해
class Restaurant
def initialize(menu)
@menu = menu
end
def cost(*orders)
orders.inject(0) do | total_cost, order |
order.each { | item, qt | total_cost = total_cost + @menu[item] * qt }
return total_cost
end
end
end
는 :
def cost(*orders)
orders.inject(0) do |total_cost, order|
total_cost + order.keys.inject(0) {|cost, key| cost + @menu[key]*order[key] }
는 당신의 도움을 주셔서 감사합니다 :)