Rubyリファレンス: Home

[] (Array)

Edit   History

標準クラス・モジュール > Array > []

[]メソッドは、配列から引数で指定した位置の要素を取り出して返します。引数には、整数(位置)、整数2つ(位置と数)、範囲を指定できます。sliceメソッドは[]の別名です。

位置

array[index]

引数に整数1つ(index)を指定したときは、その位置の要素を取り出して返します(0が1番目、1が2番目、...)。indexが範囲外のときはnilを返します。

引数indexにマイナスの値を指定したときは、配列の末尾から数えます(-1が後ろから1番目、-2が後ろから2番目、...)。

animals = ["dog", "cat", "mouse", "rabbit", "horse"]
puts animals[3]
puts animals[-4]
rabbit
cat

位置と数

array[index, length]

引数に整数2つ(indexlength)を指定したときは、indexの位置からlength個の要素を取り出して、配列で返します。indexが範囲外のときはnilを返します。また、indexが要素の数と同じときは空の配列を返します。

引数indexにマイナスの値を指定したときは、配列の末尾から数えます(-1が後ろから1番目、-2が後ろから2番目、...)。

animals = ["dog", "cat", "mouse", "rabbit", "horse"]
p animals[1, 3]   # 2番目から3個
p animals[-3, 2]  # 末尾から3番目から2個
p animals[5, 3]   # index == 要素数
["cat", "mouse", "rabbit"]
["mouse", "rabbit"]
[]

範囲

array[range]

引数に範囲rangeを指定すると、その範囲の位置から要素を取り出して、配列で返します。rangeが配列の範囲外のときはnilを返します。また、rangeの開始位置が要素の数と同じときは空の配列を返します。

rangeにマイナスの値を指定したときは、配列の末尾から数えます(-1が後ろから1番目、-2が後ろから2番目、...)。

animals = ["dog", "cat", "mouse", "rabbit", "horse"]
p animals[2..4]    # 3番目から5番目まで
p animals[2...4]   # 3番目から5番目まで、5番目は含まない
p animals[-4..-2]  # 末尾から4番目..末尾から2番目まで 
["mouse", "rabbit", "horse"]
["mouse", "rabbit"]
["cat", "mouse", "rabbit"]

関連項目