配列に要素を挿入する

Arrya クラスでは作成済みの配列の指定した位置に新しい要素を挿入するメソッドは用意されていませんが、開始インデックスと要素数を指定して新しい値に置き換える構文を応用して要素の挿入を行うことができます。ここでは Ruby で配列の中に要素を挿入する方法について解説します。

(Last modified: )

要素を挿入する

配列の指定した位置に要素を挿入したい場合は次の構文を使用します。

Arrayオブジェクト[start, len] = 新しい要素

「start」に指定したインデックスから「len」要素数分の要素を新しい要素で置換します。そこで要素数として「0」を指定することで指定したインデックスの位置から0個の要素を新しい要素で置き換えることになるため、結果として指定したインデックスの位置に新しい要素を挿入することになります。

ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
ary[1, 0] = "横浜"

上記の場合は対象の配列の1番目の位置に新しい要素を挿入しています。結果は次のようになります。

ary = ["東京", "横浜", "大阪", "名古屋", "福岡", "札幌"]

挿入する値として配列などを指定することも可能です。

ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
ary[1, 0] = ["横浜", "神戸"]

上記の場合は対象の配列の 1 番目の位置に新しい 2 つの要素を挿入しています。結果は次のようになります。

ary = ["東京", "横浜", "神戸", "大阪", "名古屋", "福岡", "札幌"]
サンプルコード

実際に試してみます。

# encoding: UTF-8

ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]

puts("元の配列:")
ary.each do |youso|
  puts(youso)
end

ary[1, 0] = ["横浜", "神戸"]

puts("1番目の位置に2つの要素を挿入:")
ary.each do |youso|
  puts(youso)
end

実行結果は次のようになります。

指定の位置に新しい要素を挿入

-- --

Ruby で配列の中に要素を挿入する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。