举个例子 sum = 0
2.times do |v1, v2, v3 , v4|
v1 = FactoryGirl...
v2 = FactoryGirl...
..
v4 = ...
sum =
end
现在总和我想添加一个属性的值,该块的每个对象都有它,例如
sum = v1[:nr_sales] + v2[:nr_sales] +...
有没有办法立即执行此操作(对块的所有args应用方法)?
答案 0 :(得分:1)
块参数中接受Splat运算符:
break
因此,在您的情况下,您可以执行以下操作:
def foo
yield 1, 2, 3, 4
end
foo { |*args| puts args.inject(:+) } #=> 10