こんにちは!エンジニアのタナカゴダイです。
rubyでは配列を操作するメソッドが多数用意されていますが、その中でも、popメソッドは配列の末尾を削除するために用意されたメソッドです。
この記事では、
【基礎】popメソッドとは何か?
【基礎】popメソッドの使い方
【発展】類似メソッド(shift)の書き方/使い方
【発展】類似メソッド(push)の書き方/使い方
などの基礎から発展的な内容についても解説していきます。
配列の末尾を削除する方法(pop)
popメソッドとは
popメソッドとは、rubyのArrayクラスが持っており、配列の末尾の要素を削除するメソッドです。
また、popメソッドに引数を渡すことで、削除する要素の個数を指定することもできます。
削除された要素は、popメソッドの戻り値として渡されます。
削除する要素がなかった場合は、nilが返ってきます。
popメソッドの使い方
それでは実際にpopメソッドの使い方を、以下のサンプルプログラムを用いて解説していきます。
サンプルプログラム1:末尾の要素を削除
以下のプログラムでは、arrayに配列[1, 2, 3]を代入し、popメソッドを使って末尾の要素を削除しています。
p array = [1, 2, 3] p array.pop p array
上記プログラムの実行結果は、
[1, 2, 3] 3 [1, 2]
と出力され、実行結果3行目で末尾の要素が削除され、arrayが[1, 2]になっていることがわかるでしょう。
サンプルプログラム2:末尾の複数要素を削除
次は、末尾の要素を複数削除してみましょう。
popメソッドに削除したい要素の個数を引数として渡すことで、対象の配列からその個数分の要素を削除します。
以下がサンプルプログラムです。
p array = [1, 2, 3] p array.pop(2) p array
2行目でpopメソッドに引数2を渡しています。
つまり、arrayの末尾の要素を2つ削除するということになります。
それでは、サンプルプログラム2の実行結果を見てみます。
[1, 2, 3] [2, 3] [1]
実行結果2行目を確認すると、削除される末尾の要素が2つになっています。
そして、実行結果3行目で、削除された後のarrayの要素が[1]になっていることがわかると思います。
このようにして、popメソッドは削除する要素の個数を指定することができます。
配列の先頭の要素を削除する方法(shift)
popメソッドの類似メソッドとして、shiftメソッドというメソッドがあります。
popメソッドは配列の末尾の要素を削除するメソッドだったのに対し、shiftメソッドは配列の先頭の要素を削除します。
それではshiftメソッドの基本的な使い方を紹介します。
基本的な書き方は、前述で解説したpopメソッドと同じです。
配列の先頭の要素を削除し、削除する要素の数を引数で指定することができます。
削除した要素が戻り値となり、要素がなかった場合はnilが返ってきます。
以下にshiftメソッドのサンプルプログラムを記載しておきます。
# 先頭の要素を削除 p array = [1, 2, 3] p array.shift p array # 先頭の要素を2つ削除 p array = [1, 2, 3] p array.shift(2) p array
# 先頭の要素を削除した実行結果 [1, 2, 3] 1 [2, 3] # 先頭の要素を2つ削除した実行結果 [1, 2, 3] [1, 2] [3]
配列の末尾に要素を追加する方法(push)
また、popメソッドの類似メソッドとして、pushメソッドというメソッドもあります。
popメソッドは配列の末尾の要素を削除しますが、pushメソッドは配列の末尾に要素を追加するメソッドです。
それではpushメソッドの基本的な使い方も、サンプルプログラムを用いて紹介します。
pushメソッドは、末尾に追加したい要素を引数で渡します。
引数に複数要素を入れてあげるだけで、末尾に複数の要素を追加できます。
popメソッドやshiftメソッドと違い、pushメソッドは追加した配列自身が戻り値となることに注意が必要です。
以下に、pushメソッドを用いて配列の末尾に要素を追加するサンプルプログラムを記載しておきます。
# 末尾に要素を追加 p array = [1, 2, 3, 4] p array.push(5) p array # 末尾に複数要素を追加 p array = [1, 2, 3, 4] p array.push(5, 6) p array
# 末尾に要素を追加した実行結果 [1, 2, 3, 4] [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] # 末尾に複数要素を追加した実行結果 [1, 2, 3, 4] [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6]
まとめ
この記事では、popメソッドの使い方をサンプルプログラムを用いて解説しました。
popメソッドは、配列の末尾の要素を削除したいときに使用するメソッドです。
また、popメソッドと同様に配列を操作する類似メソッドとして、shiftメソッドとpushメソッドも合わせてマスターしてください!