while文を使った繰り返し処理
繰り返し処理を行う方法の一つが while 文です。 while 文は条件式が真の間、繰り返しを実行します。ここでは Ruby で while 文を使った繰り返し処理を行う方法について解説します。
(Last modified: )
while文を使った繰り返し処理
while
文を使用すると繰り返し処理を行うことができます。書式は次の通りです。
while 条件式 do 実行する処理1 実行する処理2 end
※「do」は省略可能です。
while
のあとに条件式を記述します。この条件式が真( true
)の場合は do
から end
までの間の処理を実行します。 end
まで到達すると条件式に戻り、また条件式が真か偽かを判定し、真の場合は do
から end
までの間の処理を実行します。これを条件式が偽になるまで繰り返します。
次のような例で考えてみます。
num = 0 while num < 2 do puts("num = " + num.to_s) end puts("End")
while
の条件式は num < 2
です。この条件式が真の間は do
から end
までの間の処理を実行します。実際の実行される流れは次のようになります。
1) 変数「num」に「0」を代入 2) 条件式を評価。変数「num」は2より小さいので繰り返しを実行 3) 変数「num」の値を出力 4) 「end」まで達したので再度「while」文の先頭へ移動 5) 条件式を評価。変数「num」は2より小さいので繰り返しを実行 6) 変数「num」の値を出力 7) (4)から(6)を無限に繰り返し実行
while
文は条件式が真の間は繰り返し処理を実行するため、実行している処理の中で条件式が結果が変化するような処理を記述しなければなりません。先ほどの例では、条件式がいつまでも真なので無限に繰り返し処理が行われました。
では先ほどのサンプルを少し変更してみます。
num = 0 while num < 2 do puts("num = " + num.to_s) num = num + 1 end puts("End")
今度は繰り返し処理の中で変数 num に代入されている値に 1 を加算して再度変数 num に格納しています。
実際の実行される流れは次のようになります。
1) 変数「num」に「0」を代入 2) 条件式を評価。変数「num」は2より小さいので繰り返しを実行 3) 変数「num」の値を出力 4) 変数「num」に代入されている値を1だけ加算。変数「num」は「1」が代入される 5) 「end」まで達したので再度「while」文の先頭へ移動 6) 条件式を評価。変数「num」は2より小さいので繰り返しを実行 7) 変数「num」の値を出力 8) 変数「num」に代入されている値を1だけ加算。変数「num」は「2」が代入される 9) 「end」まで達したので再度「while」文の先頭へ移動 10) 条件式を評価。変数「num」は2より小さいくない為「while」文を終了 11) 「End」を出力
今度の例では繰り返し処理が 1 回実行されるたびに変数 num の値が変化しています。その結果、 while
文の条件式は 3 回目で偽( false
)となるため while
文は終了します。
このように while
文は指定した条件が真の間は何度でも繰り返し処理を実行したい場合に使います。
では簡単なプログラムで確認してみます。
# encoding: UTF-8 num = 0 puts("繰り返し開始") while num < 5 do puts("num = " + num.to_s) num = num + 1 end puts("繰り返し終了")
下記のように実行して下さい。
-- --
Ruby で while 文を使った繰り返し処理を行う方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。