便利な配列のイテレーション

2つの配列を同時にeach


ary1 = [1,2,3]
ary2 = [1,2,3]
ary1.zip(ary2).each{|a1,a2| p a1, a2}

ちなみに配列数が違う場合は以下のような挙動


[1,2,3].zip([1,2]) => [ [1,1], [2,2], [3,nil] ]
[1,2].zip([1,2,3]) => [ [1,1], [2,2] ]

次の要素を参照しながらeach


[1,2,3].inject(){|prv,cur|
puts "#{cur}, #{prv}"
prv = cur
}
=> 1, 2
2, 3

※もっといい方法があれば教えて欲しいです