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

small_fish__ · November 27, 2012 · Last by small_fish__ replied at November 27, 2012 · 2082 hits

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

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 恩,恩,不错,,,

You need to Sign in before reply, if you don't have an account, please Sign up first.