[1,2,3].inject([]) do |a, item| p "step1 item=#{item}",a a.push(item) p "step2 item=#{item}",a a = a end