重叠相当于Array#slice

Jos*_*ein 10 ruby arrays

鉴于这个Ruby数组:

[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

像这样迭代它的最简单方法是什么?

[[1,2], [2,3], [3,4], [4,5]]
Run Code Online (Sandbox Code Playgroud)

或这个?

[[1,2,3], [2,3,4], [3,4,5]]
Run Code Online (Sandbox Code Playgroud)

Fre*_*ung 20

each_cons(docs)这样做.你只需要传递你想要的块大小,它就会将它们传递给你传递的块.

如果你真的想要数组,那么你当然可以用to_a例如链接它

(1..5).each_cons(3).to_a
Run Code Online (Sandbox Code Playgroud)