我在ruby数组中有8个事务(@transactions),每个事务都有一个与之关联的数字值,我需要添加它来获取一个数字,即每个事务数量的总和。如何使用代码块将数字添加到一起?代码块是迭代获得总数的最佳方式吗?
@transactions.each do | t |
# ??
end
答案 0 :(得分:4)
Ruby on rails有一个sum
函数:
@transactions.sum { |t| t.number_value }
或者如果您想要更加简洁
@transactions.sum(:number_value)
答案 1 :(得分:2)
@transactions.reduce(0) { |sum,ob| sum + ob.number_val }
答案 2 :(得分:-1)
尝试以下代码。虽然这个问题可能早就得到了回答。您应该在发布之前先将问题谷歌。
@transaction.inject(0){|sum,x| sum + x.number_value }