【Ruby】配列に指定したインデックスへ要素を追加できるinsertメソッドについて解説します

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

この記事では、 Rubyのinsertメソッドについて

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

と、この記事で丁寧に解説していきます。

前提条件

この記事で使っているRubyのバージョンは、2.6.6です。

Rubyのインストールは、下の記事をご参考ください。

insertメソッドとは

insertメソッドとは、レシーバーの配列に指定したインデックスへ要素を追加するメソッドです。

レシーバーについては、以下の記事をご参考ください。

insertメソッドのサンプルは、以下になります。

上記を実行すると、配列sampleは以下になります。

[“a”, “d”, “b”, “c”]

insertメソッドに指定する引数の意味は以下になります。

  • 第一引数:追加するインデックス
  • 第二引数以降:追加する要素

第二、第三と複数引数が設定されている場合、第一引数のインデックスに第二引数からの値を一度に配列へ追加することができます。

第一引数のインデックスには

  • 正の整数
  • 負の整数

を設定することができます。
正の整数の場合、配列の先頭から数えた位置に要素が追加されます。
要素数以上のインデックスを指定してもOKです。
例外にならず、指定したインデックスに追加されます。
元の配列から追加した要素の前までは、【nil】が指定されます。

負の整数の場合、追加する要素の位置は配列の末尾から計算されます。
注意点として、要素数より小さい値のインデックスを指定した場合例外になります。
例外のサンプルは以下になります。

上記を実行すると、

という例外が発生してしまいます。
負の整数を指定する場合はご注意ください。

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

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

insertメソッドを解説するプログラムでは、指定するインデックスは

  • 正の整数
  • 負の整数

の2パターンで実行します。
指定したインデックスに要素が追加されているかを表示させて確認します。

Rubyサンプルプログラム

実行結果

実行して指定したインデックスに要素が追加できているかを確認します。

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

パターン1:正の整数で指定
■insert実施前
[“みかん”, “ぶどう”, “メロン”]
■insert実施後
[“みかん”, “ぶどう”, “メロン”, nil, nil, “もも”, “いちご”]

パターン2:負の整数で指定
■insert実施前
[“ブリ”, “カツオ”, “マグロ”, “カンパチ”]
■insert実施後
[“ブリ”, “カツオ”, “マグロ”, “サバ”, “カンパチ”]

指定したインデックスに要素を追加できていることが確認できました!

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

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

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

コメント

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