変換する最も簡単な方法は何ですか
[x1, x2, x3, ... , xN]
に
[[x1, 2], [x2, 3], [x3, 4], ... , [xN, N+1]]
ベストアンサー1
each_with_index
ruby 1.8.7 または 1.9 を使用している場合は、 のようなイテレータ メソッドがブロックなしで呼び出されるとオブジェクトを返すという事実を利用できます。このオブジェクトを使用して、 のようなメソッドEnumerator
を呼び出すことができます。つまり、次Enumerable
のようにmap
実行できます。
arr.each_with_index.map { |x,i| [x, i+2] }
1.8.6 では次のことができます:
require 'enumerator'
arr.enum_for(:each_with_index).map { |x,i| [x, i+2] }