繰り返し処理でよく使う!Rubyでbreakを使う方法【初心者向け】
Rubyで使うbreakの書き方を初心者でも分かるように解説しています。プログラムの中で繰り返し処理(ループ処理)を行うことがあるでしょう。実際に反映させなくともちょっとテストしたいという時にでも繰り返し処理は便利なメソッドです。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、Rubyで書くbreakの使い方について解説していきます。
プログラムの中で繰り返し処理(ループ処理)を行うことがあるでしょう。実際に反映させなくともちょっとテストしたいという時にでも繰り返し処理は便利なメソッドです。
breakを使うことで繰り返し処理の終了タイミングを宣言することができるのです。一部だけをループさせたい時などに便利です。
そもそもRubyがよく分からないという方は、Rubyとは何なのか解説した記事をご覧ください。
なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。
今回はbreakの使い方を勉強するよ。
田島メンター!!breakというのは何をするときに使うんですか~?
breakは繰り返し処理の中で使用するんだ。ある特定の条件になったら、条件式の内容に関わらずそこでループを止めることができるんだよ。
そんなものもあるんですね。やってみたいです!
breakとは
breakは、繰り返し処理を途中で終了させたい時に使います。
繰り返し処理は具体的に言うと、
- for文
- while文
- until文
- イテレータ(each,timeなど)
です。
実際に書いてみよう
for文の場合
まずは、1から10まで表示させる繰り返し処理をfor文を用いて書いてみましょう。
今回は、printを利用して数字の表示を行っています。
for num in 1..10 print(num,"n") end
このようなプログラムを書くことができると思います。
結果も1から10までの処理が行われているのが分かります。
1から10までの数値を順番に出力していく……for文でやった書き方ですね。
そうだね。これをbreakを使うことによって途中で止めるんだ。次の例を見てみよう。
はい!
for文でif文を利用した場合
次に、breakを使ってnumが7になった時点でプログラムを終了させます。
for num in 1..10 print(num,"n") if num == 7 then break end end
このように書くとnumが7が表示された後、プログラムを終了させることができます。
breakを使うことによって、プログラムを自分が終了させたいタイミングで終わらせることができます。
今回挙げた例の条件を変えればもちろん終了する数字も変わってきます。
breakを使えるようになったら便利ですので、いろいろな繰り返し文のなかで使ってみてください。
ifを使って、特定の条件になったらbreakさせるようにするんだ。
この場合、numの値が7になったらということですね。
本来10まで出力されるのが、breakによって7までになっているのが分かるね。このように繰り返し処理にさらに条件をつけることができるんだ。ぜひ利用してみよう。
分かりました。for文以外でどのように実装されるかも興味ありますね!
while文の場合
次にwhile文を利用した例を説明します。
次のコードでは、1から10までが表示されます。
プログラム
num = 0 begin num += 1 puts num end while num < 10
表示
解説
最初に変数numに0を代入して、初期化しています。
beginからはじまりend whileまでが、while文を意味します。
今回は、num < 10 が示すように、numが10より小さい間ループさせます。
num += 1では、numに1を足します。
そして、今回はputsを利用して数字の表示を行っています。
while文でif文を利用した場合
次に、breakを使ってnumが7になった時点でプログラムを終了させます。
プログラム
num = 0 begin num += 1 puts num if num == 7 then break end end while num < 10
表示
解説
先ほどと異なる点は、if文とbreakです。
if num == 7 thenでは、numが7であった場合の処理を条件分岐させています。
numが7だった場合は、breakします。
結果的に、puts numで数字が7まで表示された時点で処理が終了します。
[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。 その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。 |