【Ruby】each_consメソッド, each_sliceメソッドの使い方を解説

Rubyのeach_consメソッドとは

「要素を1つずつ」取得するeachと違い、each_consやeach_sliceはループ一回で「複数個の要素」を取得することができる。

連続した n 個の要素を1つずつずらしながら取得する場合は以下のようになる。

n = 3
["ogino", "fujiwara", "nakamura", "yasuda", "yamaguchi"].each_cons(n) do |a, b, c|
  puts "#{a}, #{b}, #{c}"
end

ogino, fujiwara, nakamura
fujiwara, nakamura, yasuda
nakamura, yasuda, yamaguchi

Rubyのeach_sliceメソッドとは

連続するn 個の要素を n ずつずらしながら取得する。

n = 3
["ogino", "fujiwara", "nakamura", "yasuda", "yamaguchi", "ogawa", "tamura", "kakunaka"].each_slice(n) do |a, b, c|
  puts "#{a}, #{b}, #{c}"
end

ogino, fujiwara, nakamura
yasuda, yamaguchi, ogawa
tamura, kakunaka,

タイトルとURLをコピーしました