新手问题 (分享下) 在不引入局部变量的情况下实现对一数组进行统计的问题

small_fish__ · 2012年11月27日 · 最后由 small_fish__ 回复于 2012年11月27日 · 2082 次阅读

一直想解决像这样的问题:有一个数组,怎样在在不引入变量的情况下实现对数组中的每个对象的某一的属性的统计,例如下面: 以前的写法:

def recent_sales(start_time)
     result = 0
     line_items.each do |line_item|
       result = result + line_item.quantity
    end
    result
end

现在的写法

line_items.map{|line_item| line_item.quantity}.inject(:+)

=========== 终于找到了此解决办法,主要参考了http://ruby-china.org/topics/6018 在此谢谢! 长久的问题终于解决,小小的 Happy 下,不知道大家类似问题的做法是?

line_items.inject(0) { |result, item| result + item.quantity}

#1 楼 @caryl 恩,恩,不错,,,

需要 登录 后方可回复, 如果你还没有账号请 注册新账号