【Ruby】配列の先頭の要素を取り除くことができるshiftメソッドについて解説します

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

この記事では、 Rubyで配列の先頭の要素を取り除くことができるshiftメソッドについて

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

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

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

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

OS Windows10
Rubyのバージョン 2.6.6

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

shiftメソッドとは

shiftメソッドとは、レシーバーの配列から先頭の要素を取り除き、取り除いた要素を返すメソッドです。
レシーバーについては、以下の記事をご参考ください。

shiftメソッドは使い方が

  • パターン1:引数なしの場合
  • パターン2:引数ありの場合

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

パターン1:引数なしの場合

引数なしの場合、配列の先頭の要素を1つ取り除き、取り除いた要素を返します。
使い方サンプルは以下です。

実行後変数resultには

という値が返され、配列sampleは

という配列になっています。

もし空の配列に対してshiftメソッドを実行した場合、nilが返されます。

パターン2:引数ありの場合

引数ありの場合、配列の先頭の要素を引数で指定した数だけ取り除き、取り除いた要素を配列として返します。
使い方サンプルは以下です。

実行後変数resultには

という配列が返され、配列sampleは

という配列になっています。

もし空の配列に対してshiftメソッドを実行した場合、空の配列が返されます。
また配列の要素数より大きい数をshiftメソッドの引数に指定した場合、レシーバーの配列は空の配列になり、配列そのものが返り値として返されます。

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

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

shiftメソッドを解説するプログラムでは、

  • パターン1:引数を指定しない場合
  • パターン2:引数を指定する場合(配列の要素数より小さい)
  • パターン2:引数を指定する場合(配列の要素数より大きい)

それぞれでshiftメソッドを使い、結果を表示させます。

Rubyサンプルプログラム

実行結果

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

Rubyのshiftメソッドを解説

配列の先頭から要素を取り除いていることが確認できました。

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

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

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

コメント

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