icon
icon

Rubyのdeleteメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにRubyのdeleteメソッドの使い方を現役エンジニアが解説しています。deleteメソッドを使うと配列から指定した要素を削除することが出来ます。指定したインデックスを削除するdelete_atメソッドも使ってみましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Rubyのdeleteメソッドの使い方について解説します。

 
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

deleteメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

deleteメソッドとは

deleteメソッドは、配列から引数で指定された要素を削除します。戻り値には削除した要素が入り、指定した要素がない場合はnilを返します。

関連したメソッドとして、delete_atメソッドがあります。こちらは、index要素を指定して削除するメソッドです。

こちらもよく使うので、覚えましょう。

 

deleteメソッドで配列から要素を削除する方法

基本的な使い方は、引数に削除する要素を渡すだけです。

fruits = ["apple", "orange", "banana", "kiwi","banana"]
fruits.delete("banana")

 

“banana”と一致する要素が削除されます。この時、一致する全ての要素が削除されることに注意してください。
この場合、3番目の”banana”も5番目の”banana”も削除されます。

delete_atメソッドは以下のように使用します。

 

fruits = ["apple", "orange", "banana", "kiwi","banana"]
fruits.delete_at(2)

 

delete_atは、インデックスで要素を削除します。
インデックスは0から始まるので、この場合3番目の”banana”のみ削除します。

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは、実際に書いて動作を確認しましょう。
まずは基本的なdeleteメソッドの使用方法です。

# 配列を宣言
fruits = ["apple", "orange", "banana", "kiwi","banana"]
p fruits
# bananaを指定して削除
fruits.delete("banana")
p fruits

 

実行結果は以下の通りです。

["apple", "orange", "banana", "kiwi", "banana"]
["apple", "orange", "kiwi"]

 

次にdelete_atメソッドです。インデックスを指定して削除します。

 

# 配列を宣言
fruits = ["apple", "orange", "banana", "kiwi","banana"]
p fruits
# indexを指定して削除。3番目を削除
fruits.delete_at(2)
p fruits

 

実行結果は以下の通りです。

["apple", "orange", "banana", "kiwi", "banana"]
["apple", "orange", "kiwi", "banana"]

 

最後に存在しない要素を削除して場合の実行結果を見てみます。

fruits = ["apple", "orange", "banana", "kiwi","banana"]
p fruits
# 存在しない要素を削除
p fruits.delete("lemon")
p fruits

 

実行結果は以下の通りです。nilが返ってくることを確認してください。

["apple", "orange", "banana", "kiwi", "banana"]
nil
["apple", "orange", "banana", "kiwi", "banana"]

以上で説明は終わりです。よく使うメソッドなので、ぜひ使い方をマスターしてください。

 

筆者プロフィール

メンター金成さん

フリーランスエンジニア。
Railsの案件を中心に、様々なアプリケーションを開発してます。

使える言語は、ruby python go 。最近はgoにハマってます。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する