オーダーメイドコース
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] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

それでは、実際に書いて動作を確認しましょう。
まずは基本的な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講座を開催しています。

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