はじめてのRuby!shiftメソッドで配列の最初の要素を削除する

配列には要素の追加や削除、変換などさまざまな操作が可能です。

そのため、関連するメソッドも数多く用意されています

「配列の先頭の要素を削除するにはどうすればいいの?」
「配列から指定した要素の数分削除したい」

という方に向けてこの記事では配列の先頭の要素や、先頭から指定した数分の要素を削除できるshiftメソッドについて、以下の内容で解説していきます。


・shiftとは
・shiftの使い方
・shiftで引数を指定する
・unshiftメソッドについて
・配列の基礎

shiftメソッドについてわかりやすく解説していますので、ぜひ参考にしてください。

shiftとは

shiftは配列の最初の要素を削除するためのメソッドです。

書き方:

配列オブジェクト.shift

shiftメソッドを使用すると元となる配列自身が変更されます。(削除された要素を除いた配列になります)

shiftメソッドは削除した要素を返します

空の配列を指定した場合はnillを返します。

また、shiftメソッドは引数を指定することもできます。

配列オブジェクト.shift(num)

引数numには整数を指定します。

元の配列には引数に指定した数の配列の要素を取り除いた値になります。

返り値は要素を取り除いた配列を返します。

shiftの使い方

では実際にshiftメソッドの使い方について見ていきましょう。

以下のサンプルをご覧ください

# 配列を定義
fruits = ["apple", "orange", "melon", "banana", "strawberry"]

puts "変更前:#{fruits}"

# 配列の最初の要素を削除する
puts "削除した要素:#{fruits.shift}"

puts "変更後:#{fruits}"

実行結果:

変更前:["apple", "orange", "melon", "banana", "strawberry"]
削除した要素:apple
変更後:["orange", "melon", "banana", "strawberry"]

実行結果のように「fruits.shift」の返り値には削除した最初の要素であるappleが返されています。

また、shiftメソッドを使用後の配列fruitsは最初の要素が削除されていることがわかりますね!

shiftで引数を指定する

shiftメソッドは先述したように引数を指定することができます。

引数を指定した場合は指定した数分の要素が取り除かれます。

# 配列を定義
fruits = ["apple", "orange", "melon", "banana", "strawberry"]

puts "変更前:#{fruits}"

# 配列の最初の要素を削除する
puts "削除した要素:#{fruits.shift(2)}"

puts "変更後:#{fruits}"

実行結果:

変更前:["apple", "orange", "melon", "banana", "strawberry"]
削除した要素:["apple", "orange"]
変更後:["melon", "banana", "strawberry"]

shiftメソッドを使用後の配列fruitsは指定した要素分削除されていることがわかりますね!

unshiftメソッドについて

shiftメソッドに名前が似たメソッドとしてunshiftがメソッドがあります。

unshiftメソッドはshiftとは逆に配列の先頭に引数で指定した要素が追加されます。

書き方:

配列オブジェクト.unshift(引数, ...)

引数には複数の要素を追加することができます。

以下のサンプルをご覧ください

# 配列を定義
fruits = ["apple", "orange", "melon", "banana", "strawberry"]

puts "変更前:#{fruits}"

# 配列に要素を追加する
fruits.unshift("pineapple")

puts "変更後:#{fruits}"

実行結果:

変更前:["apple", "orange", "melon", "banana", "strawberry"]
変更後:["pineapple", "apple", "orange", "melon", "banana", "strawberry"]

このようにunshiftメソッドで指定した要素pineappleが、配列の先頭に追加されていることがわかりますね!

配列についてもっと知りたい方へ

配列の基本について確認したい方は以下の記事で詳しく解説していますので、ぜひ参考にしてください。

まとめ

ここでは、配列の先頭や先頭から指定した要素分削除できるshiftメソッドについて、以下の内容で解説しました。

  • ・shiftとは
  • ・shiftの使い方
  • ・shiftで引数を指定する
  • ・unshiftメソッドについて
  • ・配列の基礎

shiftメソッドは配列の要素を先頭から削除するときに便利なメソッドですので、使い方については理解しておきましょう。

もし、shiftメソッドについて忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。