【Ruby】配列を指定した要素数ごとにグループ化して処理を実施できるArray.each_sliceメソッドについて解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、 Rubyで配列を指定した要素数ごとにグループ化して処理を実施できるArray.each_sliceメソッドについて

  • Array.each_sliceメソッドとは
  • Array.each_sliceメソッドを使ったサンプルプログラム

と、この記事で丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Rubyのバージョン 2.6.6

Rubyのインストールは、下の記事をご参考ください。

Array.each_sliceメソッドとは

Array.each_sliceメソッドとは、呼び出している配列を引数で指定した数でグループ化して繰り返し処理を行うメソッドです。

Array.each_sliceメソッドは使い方が

  • パターン1:ブロックなしの場合
  • パターン2:ブロックありの場合

の合計2パターンあります。
それぞれ解説します。

パターン1:ブロックなしの場合

ブロックなしの場合、呼び出している配列を引数で指定した数で区切った配列を返します。

使い方サンプルは以下です。

変数resultには

という配列が返されます。

上記サンプルの意味は以下になります。

パターン2:ブロックありの場合

ブロックありの場合は、グループ化した後、それぞれのグループに対して同じ処理を実施することができます。
パターン1と異なるのは、返り値がないことです。
使い方サンプルは以下です。

実行すると

と、表示されます。

上記サンプルの意味は以下になります。

では、次の章で実際に使ってみます。

Array.each_sliceメソッドを解説するプログラムの概要

Array.each_sliceメソッドを解説するプログラムでは、整数型の配列を用意し

  • パターン1:ブロックなしの場合
  • パターン2:ブロックありの場合

それぞれで、Array.each_sliceメソッドを使います。
パターン1のブロックなしは、3つごとにグループ化し、中身を表示させます。
パターン2のブロックありは、2つごとにグループ化し、各グループの要素を2倍にして結果を表示させます。

Rubyサンプルプログラム

上記のサンプルプログラムで使っている

  • each_with_indexメソッド
  • mapメソッド

それぞれのメソッドについては、以下の記事をご参考ください。

実行結果

Rubyプログラムを実行するやり方は、以下の記事をご参考ください。

指定した通り、配列をグループ化でき、各グループに同じ処理が実施されていることが確認できました!

まとめ:Array.each_sliceメソッドを使ってみよう!

以上がArray.each_sliceメソッドについての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

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