はじめてのRuby!popメソッドで配列の末尾を取り除く方法

こんにちは!エンジニアのタナカゴダイです。

rubyでは配列を操作するメソッドが多数用意されていますが、その中でも、popメソッドは配列の末尾を削除するために用意されたメソッドです。

この記事では、


【基礎】popメソッドとは何か?
【基礎】popメソッドの使い方
【発展】類似メソッド(shift)の書き方/使い方
【発展】類似メソッド(push)の書き方/使い方

などの基礎から発展的な内容についても解説していきます。

配列の末尾を削除する方法(pop)

popメソッドとは

popメソッドとは、rubyのArrayクラスが持っており、配列の末尾の要素を削除するメソッドです。

また、popメソッドに引数を渡すことで、削除する要素の個数を指定することもできます。

削除された要素は、popメソッドの戻り値として渡されます。

削除する要素がなかった場合は、nilが返ってきます。

popメソッドの使い方

それでは実際にpopメソッドの使い方を、以下のサンプルプログラムを用いて解説していきます。

サンプルプログラム1:末尾の要素を削除

以下のプログラムでは、arrayに配列[1, 2, 3]を代入し、popメソッドを使って末尾の要素を削除しています。

上記プログラムの実行結果は、

と出力され、実行結果3行目で末尾の要素が削除され、arrayが[1, 2]になっていることがわかるでしょう。

サンプルプログラム2:末尾の複数要素を削除

次は、末尾の要素を複数削除してみましょう。

popメソッドに削除したい要素の個数を引数として渡すことで、対象の配列からその個数分の要素を削除します。

以下がサンプルプログラムです。

2行目でpopメソッドに引数2を渡しています。

つまり、arrayの末尾の要素を2つ削除するということになります。

それでは、サンプルプログラム2の実行結果を見てみます。

実行結果2行目を確認すると、削除される末尾の要素が2つになっています。

そして、実行結果3行目で、削除された後のarrayの要素が[1]になっていることがわかると思います。

このようにして、popメソッドは削除する要素の個数を指定することができます。

配列の先頭の要素を削除する方法(shift)

popメソッドの類似メソッドとして、shiftメソッドというメソッドがあります。

popメソッドは配列の末尾の要素を削除するメソッドだったのに対し、shiftメソッドは配列の先頭の要素を削除します。

それではshiftメソッドの基本的な使い方を紹介します。

基本的な書き方は、前述で解説したpopメソッドと同じです。

配列の先頭の要素を削除し、削除する要素の数を引数で指定することができます。

削除した要素が戻り値となり、要素がなかった場合はnilが返ってきます。

以下にshiftメソッドのサンプルプログラムを記載しておきます。

配列の末尾に要素を追加する方法(push)

また、popメソッドの類似メソッドとして、pushメソッドというメソッドもあります。

popメソッドは配列の末尾の要素を削除しますが、pushメソッドは配列の末尾に要素を追加するメソッドです。

それではpushメソッドの基本的な使い方も、サンプルプログラムを用いて紹介します。

pushメソッドは、末尾に追加したい要素を引数で渡します

引数に複数要素を入れてあげるだけで、末尾に複数の要素を追加できます。

popメソッドやshiftメソッドと違い、pushメソッドは追加した配列自身が戻り値となることに注意が必要です。

以下に、pushメソッドを用いて配列の末尾に要素を追加するサンプルプログラムを記載しておきます。

まとめ

この記事では、popメソッドの使い方をサンプルプログラムを用いて解説しました。

popメソッドは、配列の末尾の要素を削除したいときに使用するメソッドです。

また、popメソッドと同様に配列を操作する類似メソッドとして、shiftメソッドとpushメソッドも合わせてマスターしてください!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説