カテゴリ: Ruby 更新日: 2025/12/22

Ruby配列の検索と取得を完全解説!index・rindex・include?・find・bsearch入門【初心者向け】

検索と取得:index・rindex・include?・find・bsearch の使い方
検索と取得:index・rindex・include?・find・bsearch の使い方

先生と生徒の会話形式で理解しよう

生徒

「配列にたくさんデータが入ってきたら、目的のデータを探すのが大変そうです…」

先生

「Rubyには、配列の中身を簡単に検索できる命令が用意されています。」

生徒

「文字を探したり、数字を見つけたりもできますか?」

先生

「もちろんできます。探し方はいくつかあるので、基本から順番に見ていきましょう。」

1. 配列の検索と取得とは?

1. 配列の検索と取得とは?
1. 配列の検索と取得とは?

Rubyの配列(Array)は、複数のデータを順番にまとめて保存できます。 しかし、数が増えてくると「どこに何があるか分からない」状態になります。 そこで必要になるのが検索取得です。

検索とは「条件に合うデータがあるか調べること」、 取得とは「見つかったデータや場所を取り出すこと」を指します。 本棚から特定の本を探す作業と同じイメージです。

2. index:最初に見つかった位置を調べる

2. index:最初に見つかった位置を調べる
2. index:最初に見つかった位置を調べる

indexは、配列の中から指定した値を探し、 最初に見つかった場所の番号を返します。 この番号をインデックスと呼び、0から始まります。


fruits = ["りんご", "みかん", "バナナ"]
puts fruits.index("みかん")

1

もし見つからなかった場合は、何もないことを表す値が返ります。 これは「存在しない」という意味になります。

3. rindex:後ろから探して位置を取得する

3. rindex:後ろから探して位置を取得する
3. rindex:後ろから探して位置を取得する

rindexは、indexと似ていますが、 配列の後ろ側から検索します。 同じ値が複数ある場合、最後に見つかった位置を知りたいときに使います。


numbers = [1, 2, 3, 2, 1]
puts numbers.rindex(2)

3

最後に登場する場所を調べたいときに便利な命令です。

4. include?:含まれているかを調べる

4. include?:含まれているかを調べる
4. include?:含まれているかを調べる

include?は、配列の中に指定した値が 「含まれているかどうか」だけを調べます。 結果はtruefalseで返ります。


colors = ["赤", "青", "黄"]
puts colors.include?("青")

true

場所は不要で、「あるかどうか」だけ知りたいときに使います。 チェック作業にとても向いています。

5. find:条件に合う要素を取り出す

5. find:条件に合う要素を取り出す
5. find:条件に合う要素を取り出す

findは、条件に合う要素を 配列の先頭から順番に探し、最初に見つかった要素を返します。 条件とは「数字が大きい」「文字が一致する」などの決まりです。


numbers = [10, 20, 30, 40]
result = numbers.find { |n| n > 25 }
puts result

30

「条件に合う最初の一つ」を取得したいときに活躍します。

6. bsearch:効率よく探す特別な検索

6. bsearch:効率よく探す特別な検索
6. bsearch:効率よく探す特別な検索

bsearchは、整列された配列を前提に、 効率よく検索を行う特別な命令です。 本の索引を使って探すようなイメージです。

配列は、あらかじめ小さい順や大きい順に 並んでいる必要があります。


numbers = [10, 20, 30, 40, 50]
result = numbers.bsearch { |n| n >= 35 }
puts result

40

データが多いときでも素早く探せるのが特徴ですが、 初心者は「並び順が必要」という点を覚えておきましょう。

7. 検索方法を使い分けるコツ

7. 検索方法を使い分けるコツ
7. 検索方法を使い分けるコツ

配列の検索には、それぞれ得意な場面があります。 場所を知りたいならindexやrindex、 存在確認ならinclude?、 条件付き取得ならfind、 効率重視ならbsearchが向いています。

Rubyの配列検索を理解すると、 データの扱いが一気に楽になります。 初心者のうちは、動きをイメージしながら 一つずつ試すことが大切です。

関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.2
Java&Spring記事人気No2
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
No.3
Java&Spring記事人気No3
Ruby
Rubyのハッシュを徹底比較!シンボルキーと文字列キーの違いと使い分け
No.4
Java&Spring記事人気No4
Rails
Railsマイグレーションの型選びを完全ガイド!初心者が迷わないカラム設計
No.5
Java&Spring記事人気No5
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.6
Java&Spring記事人気No6
Rails
RailsモデルとActive Record基礎|ID戦略を完全理解!AUTO INCREMENT・UUID・ULIDの比較と導入手順
No.7
Java&Spring記事人気No7
Rails
RailsモデルとActive Record基礎|クエリログの読み方を理解してEXPLAIN・joins・includesの違いを学ぼう
No.8
Java&Spring記事人気No8
データベース
ACID特性とは?データベーストランザクションの信頼性を初心者向けに徹底解説