こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Rubyのindexメソッドについて
- indexメソッドとは
- indexメソッドを使ったサンプルプログラム
と、この記事で丁寧に解説していきます。
目次
前提条件
この記事で使っているRubyのバージョンは、2.6.6です。
Rubyのインストールは、下の記事をご参考ください。
indexメソッドとは
indexメソッドとは、引数に指定された文字列をレシーバーから探索するメソッドです。
レシーバーについては、以下の記事をご参考ください。
レシーバーには
- 文字列
- 配列
の2パターンを設定することができます。
それぞれを解説していきます。
レシーバーが文字列でindexメソッドを使うサンプル
レシーバーが文字列でindexメソッドを使うサンプルは、以下になります。
1 2 |
sample = "ABCDE" result = sample.index("CD") |
上記の例だとresultには、2が返されます。
もし、引数で指定した文字列が見つからなかった場合、nilが返されます。
レシーバーが配列でindexメソッドを使うサンプル
レシーバーが配列でindexメソッドを使うサンプルは、以下になります。
1 2 |
sample = ["A", "B", "C", "D"] result = sample.index("D") |
上記の例だとresultには、3が返されます。
もし、引数で指定した要素が見つからなかった場合、文字列でindexメソッドを使ったときと同様nilが返されます。
では、次の章で実際に使ってみます。
indexメソッドを解説するプログラムの概要
indexメソッドを解説するプログラムでは、
- レシーバーが文字列の場合
- レシーバーが配列の場合
の2パターンでindexメソッドを使い、指定した文字列が何番目にあるのかを表示させて確認します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# indexメソッドサンプル puts "■文字列で探索" search_str = "ABCDEFG" search_word = "BC" result = search_str.index(search_word) puts "#{search_word}は#{search_str}の#{result}番目にあります" search_word_not = "XYZ" result_not = search_str.index(search_word_not) puts "#{search_word_not}は#{search_str}の#{result_not}番目にあります" puts puts "■配列で探索" search_array = ["AAA", "BBB", "CCC", "DDD"] search_element = "DDD" result_array = search_array.index(search_element) puts "#{search_element}は#{search_array}の#{result_array}番目の要素です" search_element_not = "XXX" result_array_not = search_array.index(search_element_not) puts "#{search_element_not}は#{search_array}の#{result_array_not}番目の要素です" |
実行結果
実行して本当に判定できているかを確認します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
■文字列で探索
BCはABCDEFGの1番目にあります
XYZはABCDEFGの番目にあります■配列で探索
DDDは[“AAA”, “BBB”, “CCC”, “DDD”]の3番目の要素です
XXXは[“AAA”, “BBB”, “CCC”, “DDD”]の番目の要素です
レシーバーが文字列でも配列でも、indexメソッドで検索できていることが確認できました!
まとめ:indexメソッドを使ってみよう!
以上がindexメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント