【Ruby】配列から指定した要素を削除することができるArray.deleteメソッドについて解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、12年目エンジニアです。

この記事では、 Rubyで配列から指定した要素を削除することができるArray.deleteメソッドについて

  • Array.deleteメソッドとは
  • Array.deleteメソッドを使ったサンプルプログラム

と、丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Rubyのバージョン 2.6.6

この記事ではRubyプログラムは

C:\rubystudy

に作成しています。

Array.deleteメソッドとは

Array.deleteメソッドとは、呼び出している配列から指定した要素をすべて削除するメソッドです。

Array.deleteメソッドは使い方が

  • パターン1:ブロックが指定されていない場合
  • パターン2:ブロックが指定されている場合

の合計2パターンあります。
各パターンについてサンプルを使って解説します。

パターン1:ブロックが指定されていない場合

ブロックが指定されていない場合の使い方サンプルは以下になります。

配列から引数で指定した要素をすべて削除し、削除できた場合は削除した要素の値を返します。
もし引数で指定した値が存在しなければ、nilが返ります。
上記の例だと、resultには削除された値の「2」が返され、Array.deleteメソッド実行後の配列sampleは

となります。

パターン2:ブロックが指定されている場合

ブロックが指定されている場合の使い方サンプルは以下になります。

配列から引数で指定した要素をすべて削除し、削除できた場合は削除した要素の値を返すまでは同じです。
もし、引数で指定した値が存在しなければ、ブロックで指定した値が返ります。

上記の例だと、配列にArray.deleteメソッドの引数の要素は存在しないためresultには

が返り配列sampleは削除実行されないため

のままです。

では、次の章で実際に使ってみます。

Array.deleteメソッドを解説するプログラムの概要

Array.deleteメソッドを解説するプログラムでは、

  • パターン1:ブロックが指定されていない場合
  • パターン2:ブロックが指定されている場合

をそれぞれ

  • 指定した値がある場合
  • 指定した値がない場合

のケースで、Array.deleteメソッドを使い実行結果を表示させます。

Rubyサンプルプログラム

実行結果

Rubyプログラムを実行するやり方は、以下の記事をご参考ください。

Rubyのdeleteメソッドを解説

指定した要素のみが配列からすべて削除されていることが確認できました!

まとめ:Array.deleteメソッドを使ってみよう!

以上がArray.deleteメソッドについての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました