Ruby on Railsのloopの使い繰り返し処理をする方法を現役エンジニアが解説【初心者向け】
初心者向けにRuby on Railsのloopの使い方について現役エンジニアが解説しています。loopとは繰り返し処理を行う構文で、繰り返し回数がよくわからない時に使います。while文に似ていて、break文と組み合わせて使います。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Ruby on Railsのloopの使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Ruby講座の内容をもとに紹介しています。
今回は、Rubyに関する内容だね!
どういう内容でしょうか?
Ruby on Railsのloopの使い方について詳しく説明していくね!
お願いします!
Ruby on Railsのloopとは?
loopは繰り返し処理をしたいけれど、繰り返し回数がよくわからない時に役立つメソッドです。他にも繰り返し処理の方法はいくつかありますが、とりあえずこの処理を繰り返したい、という場合に有効です。
loopの書き方
繰り返したい処理をloop文で括ります。
loop do ループしたい処理 end
あるいは
loop { ループしたい処理 }
と書きます。どちらでも動作は同じです。
実際に書いてみよう
1から順に数の和を求めて、和が50を超えるまで繰り返す処理を書いてみましょう。
total = 0 num = 1 loop do total += num if total > 50 break end num+=1 end puts num
実行結果
10
totalに1から順に足していきます。1づつ足す数を増やしていき、和が50を超えたら繰り返しを終了して、繰り返した回数を表示しています。
もしbreakしなかったらどうなるでしょうか。
total = 0 num = 1 loop do total += num num+=1 end puts num
実行結果
(何も表示されない)
loopの外に抜けず永遠にtotalを足し、numを1つ増やし続けます。いくら待ってもnumは表示されません。このようなコードをターミナルから直接rubyコマンドで実行した時には、Ctrl+Cで強制的にプログラムを止めるまで動き続けます。
loopは、最初のコード例のように、breakと組み合わせてある条件になったら繰り返しを終わらせるように書くことが多いです。
if文などで条件分岐してbreakでloopの外に抜けないと、無限に繰り返し実行されて思わぬ結果になってしまいますので注意しましょう。
筆者プロフィール
伊藤広明(いとうひろあき)
1990年代からソフトウェア開発を仕事としてはじめ、2000年ごろからWEBエンジニアの仕事にも従事。 作れるもの:Webシステム、スマホアプリ |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、Ruby on Railsを使ったプログラミングを習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。