loopメソッドを使って繰り返し回数に制限なく繰り返しを行う

loop メソッドは Kernel モジュールで用意されているメソッドです。繰り返し回数に制限のない無限ループを行いたいときに使用します。 Kernel モジュールのメソッドですので組み込み関数のように使用することができます。ここでは Ruby で loop メソッドを使って繰り返し回数に制限なく繰り返し処理を行う方法について解説します。

(2021 年 06 月 30 日公開 / 2022 年 10 月 18 日更新)

loopメソッドの使い方

loop メソッドは無限ループを行いときに使用します。使い方は次のとおりです。

loop{
  実行する処理1
  実行する処理2
}

loop メソッドでは { から } までの処理を繰り返し実行します。 loop メソッド自身に繰り返しを終了する条件は指定できませんので、実行される処理の中で繰り返しを終了するための何らかの処理を記述する必要があります。

下記の例では繰り返し処理の中である条件を満たしたときに break 文を使って繰り返し処理を抜けています。

num = 1
loop{
  puts("num = " + num.to_s)
  num += 1
  if num > 10 then
    break
  end
}

break 文を実行すると一番内側のループを抜けることができます。詳しくは「break文を使って繰り返し処理を抜ける」を参照されてください。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

num = 1
loop{
  puts("num = " + num.to_s)
  num *= 2
  if num > 1024 then
    break
  end
}

下記のように実行して下さい。

loopメソッド

1 から 2 倍ずつしていき 1024 を超えたら繰り返し処理を終了しています。

-- --

Ruby で loop メソッドを使って繰り返し回数に制限なく繰り返し処理を行う方法について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。