each_consについて 5(12min)

そういえばそんなのあったな。と思ったeach_consメソッドについて

挙動

each_consメソッドは簡単に言うと、ペアを作るメソッド。 何人組かは引数で指定できる。

コンビの法則は、指定した配列の一つ目の要素から指定引数分後の要素数をまとめてつくる。 言葉より下記の挙動を見た方がわかりやすい。

(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
#    [2, 3, 4]
#    [3, 4, 5]
#    [4, 5, 6]
#    [5, 6, 7]
#    [6, 7, 8]
#    [7, 8, 9]
#    [8, 9, 10]

似たようで違うメソッド

https://docs.ruby-lang.org/ja/latest/method/Enumerable/i/each_cons.html

each_slice 配列の要素を引数で指定した数にまとめて、区切る。 9個の要素があったら、3つの要素を持った配列が三つ返される

参考

docs.ruby-lang.org