[Ruby] each_consメソッド,each_sliceメソッド

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


<each_consメソッド>

連続した 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

<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をコピーしました