.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. Ruby
  5. Rubyのeachとbreakの使い方|両方使う時に知っておきたいことも解説

Rubyのeachとbreakの使い方|両方使う時に知っておきたいことも解説

  • Ruby
  • プログラミング言語
公開日時:   更新日時:
Rubyのeachとbreakの使い方|両方使う時に知っておきたいことも解説
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    システム
    エンジニア
    Rubyでの繰り返し処理とはどう言ったものでしょうか?

    プロジェクト
    マネージャー
    ここではeachを使ったオブジェクトの処理についてみていきましょう。

    each・breakの基本的な記述方法


    Rubyでの繰り返し処理とはどういったものでしょうか?
    ここではeachを使ったオブジェクトの処理や、each_with_index・each_line・each_sliceの使い方についても紹介します。
    また、each以外の繰り返し処理の方法や、break、nextの使い方についても紹介します。

    Rubyで繰り返し処理ができるeachの使い方8つ

    今回は、Rubyでのeachを使った繰り返し処理について説明します。
    Rubyでは、配列・範囲オブジェクト・ハッシュなどに対してeachで繰り返し処理ができます。
    breakで繰り返し処理を抜けることができますし、nextで繰り返し処理をスキップすることができます。

    eachの類似として、each_with_index・each_line・each_sliceの使い方についても紹介します。
    Rubyでの繰り返し処理に興味のある方はぜひご覧ください。

    1:配列

    配列に対するeachの繰り返し処理を紹介します。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このように、Rubyでは配列に対してeachで繰り返し処理ができます。

    2:範囲オブジェクト

    範囲オブジェクトに対するeachの繰り返し処理を紹介します。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    文字の範囲オブジェクトに対しても、同様です。

    実行結果は以下のようになります。

    このように、Rubyでは範囲オブジェクトに対してeachで繰り返し処理ができます。

    3:ハッシュ

    ハッシュに対するeachの繰り返し処理を紹介します。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    keyとvalueが表示されていることが分かります。
    each_keyを使用すれば、keyだけを出力できます。

    実行結果は以下のようになります。

    また、each_valueを使用すれば、keyだけを出力できます。

    実行結果は以下のようになります。

    このように、Rubyではハッシュに対してeachで繰り返し処理ができます。
    each_keyはkeyだけ、each_valueはvalueだけの繰り返し処理ができます。

    4:break

    Rubyでは、breakで繰り返し処理を抜けることができます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このように、Rubyではbreakで繰り返し処理を抜けることができます。

    5:next

    Rubyでは、nextで繰り返し処理をスキップすることができます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このように、Rubyではnextで繰り返し処理をスキップすることができます。

    6:each_with_index

    each_with_indexを使えば、繰り返し処理でインデックスを出力できます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    インデックスが出力されていることが分かります。
    インデックスの開始値を変更したい場合は、each.with_indexを使用します。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    この場合は、インデックス10から始まっています。
    このように、Rubyではeach_with_indexを使えば、繰り返し処理でインデックスを出力できます。

    7:each_line

    each_lineを使えば、ファイルを1行ずつ読み込むことができます。

    以下のようなファイルを読み込んで出力してみます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    ファイルの内容が出力されていることが分かります。foreachでも同じことができます。

    実行結果は以下のようになります。

    このように、Rubyではeach_line・foreachを使えば、ファイルを1行ずつ読み込むことができます。

    8:each_slice

    each_sliceを使えば、配列を指定数で分割できます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このように、Rubyではeach_sliceを使えば、配列を指定数で分割できます。

    Rubyのbreakの使い方4つ

    Rubyの繰り返し処理におけるbreakの使い方を以下4つ紹介します。

    1:while文での使い方
    2:while文でif文を利用している場合の使い方
    3:for文での使い方
    4:for文でif文を利用している場合の使い方

    1:while文での使い方

    Rubyのwhile文で繰り返し処理をbreakによって処理を終了させることができます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このようにbreakに到達した時点でループを抜けます。一度しか繰り返し処理が実行されないため、0のみが表示されます。

    2:while文でif文を利用している場合の使い方

    次にwhileメソッドの処理の中でif文を利用した場合のbreakの使い方を見ていきます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このようにwhile文の中にif文の処理でbreakすると、ループ条件に達しなくても終了させることができます。

    3:for文での使い方

    Rubyのfor文の繰り返し処理でbreakによって処理を終了させることができます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    for文でもwhileと同様にbreakに到達した時点でループを抜け処理を終了させることができます。

    4:for文でif文を利用している場合の使い方

    次にforメソッドの処理でif文を利用した場合のbreakの使い方を見ていきます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このようにfor文の中にif文の処理でbreakすると、ループ条件に達しなくても終了させることができます。

    Rubyのeachとbreakを両方使う時に知っておきたいこと

    Rubyのeachとbreakを両方使う時に知っておきたいことを以下2つ紹介します。

    1. eachにbreakを使うと繰り返しが終了する
    2. 繰り返しが入れ子になっている場合

    それぞれの動きを見ていきましょう。

    eachにbreakを使うと繰り返しが終了する

    Rubyのeachメソッドでの繰り返し処理でbreakを使用することによって処理を終了させることができます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このようにeach文でもwhile、forと同様にbreakに到達した時点でループを抜けます。

    繰り返しが入れ子になっている場合

    繰り返し処理の中でさらに繰り返し処理が存在しbreakが実行された場合、一番内側の繰り返しが終了し、外側の繰り返し処理は続けることができます。

    実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    このように内側のfor文は”for1″で処理が終了してますが、while文は条件終了まで処理が継続しています。

    システム
    エンジニア
    範囲オブジェクトを利用して順番に処理することも可能ですね。

    プロジェクト
    マネージャー
    状況によってはfor文を利用するよりもわかりやすいかもしれませんね。

    Rubyのeachとbreakの使い方を覚えよう

    いかがでしたでしょうか。Rubyでのeachを使った繰り返し処理について説明しました。

    Rubyでは、配列・範囲オブジェクト・ハッシュなどに対してeachで繰り返し処理ができます。
    breakで繰り返し処理を抜けることができますし、nextで繰り返し処理をスキップすることができます。

    eachの類似として、each_with_index・each_line・each_sliceの使い方についても紹介しました。
    ぜひご自身でソースコードを書いて、理解を深めてください。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    Ruby新着案件New Job