Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 断开注入块时返回零_Ruby - Fatal编程技术网

Ruby 断开注入块时返回零

Ruby 断开注入块时返回零,ruby,Ruby,我想把订单金额加起来 但是如果order.upgrade!=nil我将立即结束该块 但是我得到了nil值 那不是我的期望 如何实现我的目标 谢谢 points = orders.inject(0) do |sum, order | break if order.upgrade != nil sum += order.actual_amount if order.actual_amount end From:break接受一个值,该值提供它要“中断”的表达式的结果 point

我想把订单金额加起来

但是如果
order.upgrade!=nil
我将立即结束该块

但是我得到了
nil

那不是我的期望

如何实现我的目标

谢谢

points = orders.inject(0) do |sum, order |
  break if order.upgrade != nil      
  sum += order.actual_amount if order.actual_amount
end
From:break接受一个值,该值提供它要“中断”的表达式的结果
points = orders.inject(0) do |sum, order |
  break sum unless order.upgrade.nil?      
  sum += order.actual_amount || 0
end