2
Я хочу подвести итог сумме заказов.Возврат ноль, когда разорвать блок блока впрыска
, но если order.gprade != nil
, я немедленно закончу блок.
Но я получил значение
nil
Это было не мое ожидание,
Как достичь своей цели?
Благодаря
points = orders.inject(0) do |sum, order |
break if order.upgrade != nil
sum += order.actual_amount if order.actual_amount
end
Из [Docs заявления прерывистого] (http://www.ruby-doc.org/core-2.0.0/doc/syntax/control_expressions_rdoc.html#label- break + Statement): * break принимает значение, которое поставляет результат выражения, которое оно «ломает» из * – Stefan