Rubyリファレンス: Home

rindex (Array)

Edit   History

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

array.rindex(obj)

rindexメソッドは、配列の末尾から順に引数objと同じ要素を探し、その位置(インデックス)を整数で返します。要素が見つからないときは、nilを返します。要素と引数objが同じかどうかの比較には==演算子が使われます。

返される位置は、末尾からではなく先頭からのインデックスです。次の例では、配列の末尾から"apple"を探し、末尾から2番目の"apple"のインデックスが返ります。

fruits = ["apple", "orange", "banana", "apple", "kiwi"]
puts fruits.rindex("apple")
3
array.index {|item| block }

Ruby 1.8.7 Ruby 1.8.7と1.9では、rindexメソッドにブロックを渡せます。ブロックを渡すと、ブロックの戻り値が真になる要素を末尾から順に探して、その位置(インデックス)を返します。ブロック引数itemには配列の要素が入ります。

次の例は、caで始まる文字列のインデックスを調べます。末尾からなので"cat"ではなく"camel"にヒットします。

fruits = ["dog", "cat", "camel", "deer"]
puts fruits.rindex {|item| item =~ /^ca/ }
2

関連項目