Ruby Tips!

RubyのTipsを紹介します

配列から要素を検索する

配列にある要素が含まれているかを判定するには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もある。