配列の要素とインデックス

配列では複数のオブジェクトを管理することができますが、それぞれのオブジェクトを管理しているのが配列の要素です。配列には複数の要素が含まれますが、先頭から順番にインデックスと呼ばれる番号が割り当てられており、インデックスを指定することで配列から特定の要素を取り出すことができます。ここでは Ruby における配列の要素とインデックスについて解説します。

(Last modified: )

要素とインデックス

配列は要素と呼ばれるものを使ってオブジェクトに対する名札を管理しています。次の例を見てください。

ary = [2005, 2006, 2007, 2008]

この配列には 4 つの要素を持っています。そして「2005」「2006」「2007」「2008」の 4 つの数値オブジェクトを管理しています。 1 つ目の要素は「2005」への名札であり、 2 つ目の要素は「2006」への名札です。

配列に含まれる要素を取り出せば、その要素に関連付けられたオブジェクトを参照できます。またその要素に新しいオブジェクトを代入する事もできます。

そこで複数ある要素から1つを特定することが出来るように、要素には先頭から順に番号が割り当てられています。この番号をインデックスと呼んでおり「0」「1」「2」...と0から順に番号が割り当てられています。この番号を使うことで要素を指定することが出来るわけです。(なおインデックスには負の値を指定することも可能です。負の値の場合は「-1」なら一番最後の要素、「-2」なら最後から二番目の要素となります)。

では特定の要素を取り出す方法を確認します。書式は次の通りです。

配列オブジェクト[インデックス]

引数に指定したインデックスを持つ要素を取り出します。

実際には次のように記述します。

ary = [2005, 2006, 2007, 2008]

print(ary[0])
y = ary[1]

上記では 4 つの要素を持つ配列の中から「0」番目の要素を取り出しています。「0」番目の要素は「2005」と言うオブジェクトを参照していますので画面には「2005」が出力されます。取り出した要素を変数に代入して使用することもできます。この時は変数に他の変数を代入した場合と同じような扱いとなります。(「他の変数を代入」を参照して下さい)。

Arrayクラスのatメソッドを使って要素を取得する

配列オブジェクトは Array クラスのオブジェクトです。 Array クラスでは要素を取得するために at メソッドが用意されています。

配列オブジェクト.at(pos)

引数にインデックスを指定することで、要素を取得することができます。具体的には次のように記述します。

ary = [2005, 2006, 2007, 2008]

print(ary[0])
print(ary.at(0))

array[0]array.at(0) も同じ要素を取得しています。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

ary = ["山田", "太郎", "男性", "東京都"]

puts("氏名 : " + ary[0] + ary[1])
puts("性別 : " + ary[2])
puts("住所 : " + ary.at(3))

下記のように実行して下さい。

要素とインデックス

-- --

Ruby における配列の要素とインデックスについて解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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