この Ruby 配列が与えられた場合:
[1, 2, 3, 4, 5]
このように反復する最も簡単な方法は何ですか?
[[1,2], [2,3], [3,4], [4,5]]
それともこれ?
[[1,2,3], [2,3,4], [3,4,5]]
each_cons
( docs ) がこれを行います。必要なチャンクのサイズを渡すだけで、渡すブロックにチャンクが生成されます。
実際に配列が必要な場合は、もちろんこれをto_a
でチェーンできます。たとえば、
(1..5).each_cons(3).to_a