Ruby on Railsのloopの使い繰り返し処理をする方法を現役エンジニアが解説【初心者向け】

初心者向けにRuby on Railsのloopの使い方について現役エンジニアが解説しています。loopとは繰り返し処理を行う構文で、繰り返し回数がよくわからない時に使います。while文に似ていて、break文と組み合わせて使います。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,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 {
  ループしたい処理
}

と書きます。どちらでも動作は同じです。

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

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システム、スマホアプリ
書ける言語: Ruby・PHP・Python・Java・Swift・C#・C/C++・JavaScriptなど
経験があるフレームワーク: Laravel・Ruby on Rails・Apache Strutsなど

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間で、Ruby on Railsを使ったプログラミングを習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。