【Ruby】繰り返し処理をするloopメソッドの使い方

こんにちは!CodeClub965のKです!

これまでRubyにおける繰り返し処理をするeach、for、timesについて解説してきましたが、今回はloopについて書きます。

timesに関する記事は以下に貼っておきます。
eachとforについても下記の記事にリンクが貼ってありますので参考にしてください。

ちなみにループ処理には以下のようなものがあります。

・each
・for
・times
・loop
・while
・until

今回はあまり使わないかもしれませんがloopについて書いていきます。

loop

loopは、終了条件のない繰り返し(ループ)処理を行うためのメソッドです。
そのため処理内容を間違うと無限ループしてしまうので注意してください。

サーバーに負荷を簡単にかけられますね。笑

まずは基本的な使い方です。

loop do
  繰り返したい処理
end

もちろんこのままだと処理内容によりますが、無限ループしてしまうので、条件文を書いてループを抜ける処理を入れる必要があります。

breakを使う

条件式を記述し、その条件を満たした時に「break」を使うことでループを止めることができます。

i = 0

loop do
  puts i
  i += 1

  if i >= 3
    break
  end
end

■実行結果

0
1
2

上の例では、if文で i が3以上であればloopを抜けるという処理になります。
このように条件式とbreakを使うことでループ処理を抜けることができます。

ちなみに補足としてbreak以外にも、「next」を使うことで指定した条件の時だけ処理をとばすことも可能です。

breakやnextの使い方についてはまた別の記事でちゃんと解説しようと思います。

最後に

今回はloopについて解説しました。
if文などの条件式と break や next との組み合わせでループ処理を実現できることを覚えておきましょう。

それでは、また!

Follow me!