until文を使った繰り返し処理

繰り返し処理を行う方法の一つが until 文です。 until 文は条件式が偽の間、繰り返しを実行します。ここでは Ruby で until 文を使った繰り返し処理を行う方法について解説します。

(Last modified: )

until文を使った繰り返し処理

until 文を使用すると繰り返し処理を行うことができます。書式は次の通りです。

until 条件式 do
  実行する処理1
  実行する処理2
end

※「do」は省略可能です。

until のあとに条件式を記述します。この条件式が偽( false )の場合は do から end までの間の処理を実行します。 end まで到達すると条件式に戻り、また条件式が真か偽かを判定し、偽の場合は do から end までの間の処理を実行します。これを条件式が真になるまで繰り返します。

例えば次のように使います。

num = 2
until num <= 0 do
  puts("num = " + num.to_s)
  num = num - 1
end
puts("End")

until の条件式は num <= です。この条件式が偽の間は do から end までの間の処理を実行します。実際の実行される流れは次のようになります。

 1) 変数「num」に「2」を代入
 2) 条件式を評価。変数「num」は0以下ではないので繰り返しを実行
 3) 変数「num」の値を出力
 4) 変数「num」に代入されている値を1だけ減算。変数「num」は「1」が代入される
 5) 「end」まで達したので再度「until」文の先頭へ移動
 6) 条件式を評価。変数「num」は0以下ではないので繰り返しを実行
 7) 変数「num」の値を出力
 8) 変数「num」に代入されている値を1だけ減算。変数「num」は「0」が代入される
 9) 「end」まで達したので再度「until」文の先頭へ移動
10) 条件式を評価。変数「num」は0以下となるため「until」文を終了
11) 「End」を出力

while 文の場合と同じく until 文でも繰り返しの度に条件式が変化するようにしておかなければ無限ループとなってしまいますので注意して下さい。

サンプルコード

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

# encoding: UTF-8

num = 5
puts("繰り返し開始")

until num < 0 do
  puts("num = " + num.to_s)
  num = num - 1
end

puts("繰り返し終了")

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

until文

-- --

Ruby で until 文を使った繰り返し処理を行う方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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