inject


irb

>> arr = [1,3,5,7,10]
=> [1, 3, 5, 7, 10]
>> arr.inject{|x,y| x*y }
=> 1050
>> arr.inject{|x,y| puts "#{x},#{y}"; x*y }
1,3
3,5
15,7
105,10
=> 1050
>> arr.inject(5){|x,y| puts "#{x},#{y}"; x*y }
5,1
5,3
15,5
75,7
525,10
=> 5250
>> arr.inject{|x,y| x+y }
=> 26
>> arr.inject{|x,y| puts "#{x},#{y}"; x+y }
1,3
4,5
9,7
16,10
=> 26
>> arr.inject(50){|x,y| puts "#{x},#{y}"; x+y }
50,1
51,3
54,5
59,7
66,10
=> 76

ふーん