こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Rubyで配列から指定された値と一致する最初の要素のインデックスを取得するfind_indexメソッドについて
- find_indexメソッドとは
- find_indexメソッドを使ったサンプルプログラム
と、この記事で丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
Rubyのインストールは、下の記事をご参考ください。
find_indexメソッドとは
find_indexメソッドとは、配列から指定された値と一致する最初の要素のインデックスを取得するメソッドです。
find_indexメソッドは使い方が
- パターン1:引数を指定する場合
- パターン2:ブロックを指定する場合
の合計2パターンあります。
それぞれ解説します。
パターン1:引数を指定する場合
引数を指定する場合、引数に配列で検索したい値を指定します。
配列から一致する最初の要素のインデックスを返します。
使い方サンプルは以下です。
1 2 |
sample = ["aa", "bb", "cc"] result = sample.find_index("bb") |
上記の例だと、resultには1が返されます。
もし一致する値が存在しなかった場合、nilを返します。
パターン2:ブロックを指定する場合
ブロックを指定する場合、ブロック内には検索する要素の条件を指定します。
最初に条件に一致する要素のインデックスを返します。
使い方サンプルは以下です。
1 2 3 4 |
sample = [1, 2, 3] result = sample.find_index{ |num| num > 2 } |
上記の例だと、resultには2が返されます。
もし一致する値が存在しなかった場合、nilを返します。
では、次の章で実際に使ってみます。
find_indexメソッドを解説するプログラムの概要
find_indexメソッドを解説するプログラムでは、
- パターン1:引数を指定する場合
- パターン2:ブロックを指定する場合
それぞれを確認します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
puts "■find_indexメソッドサンプル" puts # パターン1:引数を指定する場合 puts "・パターン1:引数を指定する場合" num_array = [9, 8, 12, -6, 5, 8, 10] puts "確認する配列:#{num_array}" num_index = num_array.find_index(8) puts "最初に要素8が格納されているインデックス:#{num_index}" puts # パターン2:ブロックを指定する場合 puts "・パターン2:ブロックを指定する場合" fruit_array = ["いちご", "みかん", "グレープフルーツ", "パイナップル"] puts "確認する配列:#{fruit_array}" fruit_index = fruit_array.find_index { |fruit| fruit.length > 4 } puts "最初4文字より長い文字列が格納されているインデックス:#{fruit_index}" |
実行結果
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
1 2 3 4 5 6 7 8 9 |
■find_indexメソッドサンプル ・パターン1:引数を指定する場合 確認する配列:[9, 8, 12, -6, 5, 8, 10] 最初に要素8が格納されているインデックス:1 ・パターン2:ブロックを指定する場合 確認する配列:["いちご", "みかん", "グレープフルーツ", "パイナップル"] 最初4文字より長い文字列が格納されているインデックス:2 |
指定した条件の通り、最初の要素のインデックスが取得できていることが確認できました!
まとめ:find_indexメソッドを使ってみよう!
以上がfind_indexメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント