【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の処理を実行しています。

その処理が実行されたあと繰り返しが実行されるため、このような結果になります。



イベント

2017/12/05(火)
Design Thinking Square

購読

平日・毎朝更新中