inject
>> 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
ふーん