本文へスキップ
BecomeCoder

Rubyコース · 第2章 条件分岐と繰り返し · レッスン10

while/untilとtimes ― 条件で繰り返す

ブラウザで完結

導入

「条件が成り立つ間ずっと繰り返す」処理には whileuntil を使います。「決まった回数だけ繰り返す」なら times が簡単です。

説明

while 条件 は条件が真の間、until 条件 は条件が偽の間、繰り返し実行されます。

i = 1
while i <= 5
  puts "カウント: #{i}"
  i += 1
end

j = 5
until j == 0
  puts "残り#{j}回"
  j -= 1
end

条件を更新する行(i += 1 など)を書き忘れると、条件が永遠に成り立ち続けて無限ループになってしまうので注意しましょう。

決まった回数だけ繰り返したいときは、整数に .times を使うのが簡単です。do |i| ... end の部分をブロックと呼び、繰り返しごとに i に0から始まる回数が渡されます。

3.times do |i|
  puts "実行#{i}回目"
end

やってみよう

while の条件やカウンタの初期値を変えて、繰り返し回数がどう変わるか確かめましょう。times の数字も変えてみてください。

演習

5.times を使って "Hello!" を5回表示してください。

ヒント1を見る

5.times do |i| puts "Hello!" end のように書きます。

ヒント2を見る

ブロックの中の変数 i は使わなくてもかまいません。

実際に動かしてみよう

下のエディタにRubyを書いて「実行」を押すと、学習用シミュレータが puts / print / p の出力を表示します(本物のRubyではなく、教材の範囲を再現した軽量な自作エンジンです)。配列・ハッシュ・ブロック(each/map/select)・メソッド・クラス・モジュール・例外なども動きます。本文の例を書き換えて動かしてみましょう(gem・Rails・ファイル入出力など一部の機能は対象外です。文字列を伸ばすときは str << も可能ですが、変数に反映されるのは str += です)。

Ruby — ブラウザ内で実行(学習用シミュレータ)

Rubyの教材サブセットを動かす学習用シミュレータを読み込みます(本物のRubyではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。