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,