【Ruby3.x】Array::find_index()メソッドの使い方
find_indexメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
find_indexメソッドは、RubyのArrayクラスに属し、配列内の特定の要素の位置(インデックス)を検索し、その0から始まるインデックスを返すメソッドです。このメソッドは、引数に値を指定する方法と、ブロックと呼ばれる処理のまとまりを指定する方法の二通りで利用できます。
引数に値を指定した場合、配列の先頭から順にその値と等しい要素を探し、最初に見つかった要素のインデックスを返します。例えば、[10, 20, 30, 20].find_index(20)を実行すると、最初に20が見つかるインデックスである1が返されます。これは、配列の最初の要素がインデックス0、次の要素がインデックス1というように数えられるためです。
一方、ブロックを指定した場合、配列の各要素に対してブロック内の処理を実行し、ブロックが真(true)を返した最初の要素のインデックスを返します。例えば、[1, 2, 3, 4].find_index { |num| num > 2 }を実行すると、ブロックが最初に真となる要素3のインデックスである2が返されます。
もし配列内に該当する要素が一つも見つからなかった場合、find_indexメソッドはnilを返します。このメソッドは、配列から特定の条件に合致する要素の位置を効率的に特定したい場合に非常に役立ちます。
構文(syntax)
1[10, 20, 30, 40, 50].find_index(30)
引数(parameters)
val
- val: 検索したい値
戻り値(return)
Integerまたはnil
引数で指定された要素が配列内で最初に出現するインデックスを返します。見つからなかった場合は nil を返します。