我的方法目前是这样的:
def calculate
bill = 0
order.each {|k, v| bill += restaurant.show_menu[k]*v}
bill
end
Run Code Online (Sandbox Code Playgroud)
它看起来真的很难看,但我需要它才能回归bill.考虑制作bill一个实例变量,然后在我的对象初始化时定义它,但我不在其他任何地方使用它.什么是重构这个的最好方法?
这是一种可能的方式:
def calculate
order.reduce(0) {|bill, (k, v)| bill + restaurant.show_menu[k]*v}
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |