スライドショー

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

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

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メソッドも合わせてマスターしてください!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

侍ブログ編集部

侍ブログ編集部

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

おすすめコンテンツ

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

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