【Ruby入門】Rubyの繰り返し:while文
今回はRubyのwhile文による繰り返しを解説していきます。
while文
while文は最もシンプルな繰り返し構造です。
while文の基本的な書式は以下のようになります。
while (条件式) do #doは省略できます (繰り返し実行したい処理) end
まずは条件式が評価されます。条件式が”真”だった場合、do以下の処理が実行されます。
doは省略することができます。
実際にコードを書いてみましょう。
point = 1 while point < 5 puts "#{point}" + "点獲得しました" end
変数pointには1という値がはいっています。
条件式point < 5は”真”であるため、その後に続く処理が繰り返し実行されます。
しかしこのままでは、無限にループしてしまいます。
では少しコードを変更してみましょう。
point = 1 while point < 5 puts "#{point}" + "点獲得しました" point = point + 1 end puts "4点獲得したのでゲームを終了します"
このように変更すると実行結果は以下のようになります。
1点獲得しました 2点獲得しました 3点獲得しました 4点獲得しました 4点獲得したのでゲームを終了します
一度ループするたびにpointが1ずつ増えるコードを書き加えました。
(point = point + 1)
このコードを加える事で、pointが5になった時点でループが終了します。
条件式さえあっていればwhile文中の繰り返し処理は実行されてしまうため、途中でループから抜け出す処理を忘れないようにしましょう。
ループから抜け出す脱出構文もあります。そちらも是非活用してみてください。
while修飾子
while文もif文と同様に、修飾子を使うことができます。
基本的な書式は以下のようになります。
(繰り返し実行したい処理) while (条件式)
実際にコードを書いてみましょう。
point = 1 point = point + 1 while point < 5
上記のコードは、pointが5になるまで繰り返されます。
後置while文
次のような書き方をすると、最初の1回だけは条件式にかかわらず、繰り返したい処理が実行できます。
begin (繰り返し実行したい処理) #最初は条件式にかかわらず実行 end while (条件式)
実際にコードを書いてみましょう。
point = 1 begin point = point + 1 puts point end while point < 5
実行結果は以下のようになります。
2 3 4 5
上記のコードでは、まずはじめに、point = point + 1の処理を実行しています。
その処理が実行されたあと繰り返しが実行されるため、このような結果になります。