配列から要素を検索する
配列にある要素が含まれているかを判定するにはArray#include?
を使う。このメソッドは引数で与えた要素と==
で等しい要素が存在する場合にtrue
を返し、存在しない場合はfalse
を返す。
p [1, 2, 3].include?(2) #=> true p [1, 2, 3].include?(4) #=> false
何処に含まれているかも調べたい場合はArray#index
を使う。このメソッドは引数で与えた要素と==
で等しい要素を最初に見つけたインデックスを返し、要素が存在しなければnil
を返す。
p [1, 2, 3].index(2) #=> 1 p [1, 2, 3].index(4) #=> nil
Array#index
はブロックを取ることもできる。この場合はブロックの評価結果が真になる最初の要素を見つけたインデックスを返す。
p [1, 2, 3].index{|v| v % 2 == 0 } #=> 1
Array#index
は配列を先頭から検索するが、配列を末尾から検索するArray#rindex
もある。