※こちらの記事は、プロスタ編集部が学習者の多いRubyの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。
参考サイト:【Ruby入門】while文(繰り返し処理)の使い方
【Ruby入門】while文(繰り返し処理)の使い方
今回はRubyのwhile文(繰り返し処理)について解説します。
繰り返し処理についてさらに理解を深めたい方は、for文(繰り返し処理)の使い方をご覧ください。
目次
1 while文の書き方
2 while文を使ってみる
3 breakを使ってみる
while文の書き方
while文とは「指定した条件にあてはまる間、処理を繰り返し続ける」というループ処理です。
Rubyにおけるwhile文は以下のように書きます。
while 条件 do
内容
end
1行目は、while文のはじまりです。ここからwhile文を書き始めますという宣言をして、ループする条件を指定します。doは省略可能です。
2行目からループさせる内容を書きます。もちろん何行書いてもかまいません。
最後の行のendは、「while文はここまでですよ」という意味です。
while文を使ってみる
では、実際にwhile文を使ったプログラムを書いてみましょう。
今回は「○回目です」という文字列を5回表示し、○の部分には現在何周目なのか、数を表示するというプログラムを書いてみます。
i = 1
#変数iの初期値を設定
while i <= 5 do
#変数iが5以下の場合繰り返し
puts "#{i}回目です。"
#ループする処理の内容
i += 1
#変数iへ1を足す
end
#while文ここまで
このプログラムを実行すると、以下のように表示されます。
・実行例
1回目です。
2回目です。
3回目です。
4回目です。
5回目です。
breakを使ってみる
while文の中でbreakという処理を使うと、指定した回数に達したときループを抜けることができます。そのとき、breakはif文と合わせて使用されます。
例えば、これはループする回数をユーザーに決めさせたとき、膨大な数値を入力してしまいプログラムがなかなか止まらなくなってしまうという事態を防ぐためなどに利用できます。言わば、while文におけるループの上限を決められる処理と言えるでしょう。
breakを使った文は例えば以下のように書きます。
i = 1
while i<10000 do
if i===5
puts "5回目です。ループを抜けます。"
break
end
puts "#{i}回目です。"
i +=1
end
while文の中にif文を組み込み、もし変数iが条件である10000に満たなくても5回目になったらループを抜けられるようになっています。
このプログラムを実行すると、以下のように表示されます。
実行例
1回目です。
2回目です。
3回目です。
4回目です。
5回目です。ループを抜けます。
このように「10000回に満たなければループする」と条件を指定していても、5回目でループを抜けるように指定しているため「4回目です」という文字列を表示したあと、5回目でifの条件に当てはまり、「5回目です。ループを抜けます。」という文字列が表示されてbreakが実行されてループが止まります。