Rubyで配列内が任意の要素を含むか確認する方法
Rubyで、配列の中に特定の要素が含まれているかを確かめるには、
- include?メソッドを使用する
- findメソッドを使用する
という2通りの方法があります。
以下で、それぞれコード例を用いて解説しますね。
include?メソッドを使用して特定の要素を含むか確認する
配列の中に特定の要素が含まれているかどうかを調べるだけであれば、Rubyのinclude?メソッドを使用すれば良いでしょう。
[100, 200, 300, 400, 500].include?(200) # => true
[100, 200, 300, 400, 500].include?(700) # => false
["田中", "加藤", "鈴木"].include?("鈴木") # => true
["田中", "加藤", "鈴木"].include?("佐藤") # => false
include?メソッドの処理結果として、要素が含まれていればtrueが、含まれていなければfalseが返るので、配列内に任意の要素が存在するかを簡単に確かめられます。
findメソッドを使用して、配列から特定の要素を取得する
Rubyのfindメソッドを使用すると、配列の中に特定の要素が含まれているか調べ、含まれていた場合にその要素を取得することができます。
["田中", "加藤", "鈴木"].find{ |name| name == "鈴木" } # => "鈴木"
["田中", "加藤", "鈴木"].find{ |name| name == "佐藤" } # => nil
[100, 200, 300, 400, 500].find{ |number| number == 200 } # => 200
[100, 200, 300, 400, 500].find{ |number| number == 700 } # => nil
上記の例からも分かるように、配列の中に指定した要素がなかった場合、nilが戻り値として返ります。
なお、Rubyのfindメソッドの使い方に関してはこちらの記事でより詳しく解説しています。