Rubyリファレンス: Home

fetch (Array)

Edit   History

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

fetchメソッドは、配列から引数で指定した位置の要素を取り出して返します。atメソッドと機能は同じですが、位置が範囲外のときの動作が異なります。

array.fetch(index)

fetchメソッドに引数1つ(index)を整数で指定すると、その位置の要素を取り出して返します。indexが範囲外のときは、例外IndexErrorが発生します。

animals = ["dog", "cat", "mouse", "rabbit", "horse"]
puts animals.fetch(3)
puts animals.fetch(10) rescue p $!
mouse
#<IndexError: index 10 out of array>
array.fetch(index, default)

第2引数defaultを指定すると、indexが範囲外のときはdefaultを返します。

animals = ["dog", "cat", "mouse", "rabbit", "horse"]
puts animals.fetch(10, "unknown")
unknown
array.fetch(index) {|idx| block }

fetchメソッドにブロックを渡すと、indexが範囲外のときはブロックの戻り値を返します。ブロック引数idxには引数indexで指定した位置が入ります。

animals = ["dog", "cat", "mouse", "rabbit", "horse"]
anim = animals.fetch(10) {|i| "#{i} is unknown" }
puts anim
10 is unknown

関連項目