5-4-2 while文を使ってみよう

while文を使ったプログラムを記述する

テキストエディタを開いて以下のプログラムを記述し、ファイル名をwhile.rbとして保存します。

# while文を使ってみよう
a = 0

while(a < 10) do
  p a
  a += 1
end

保存したプログラムを実行する

コマンドライン上でプログラムを指定して実行します。0から9までの数値が表示されます。

$ ruby while.rb
0
1
2
3
4
5
6
7
8
9

プログラムを修正して無限ループを発生させる

先ほど記述したプログラムのa += 1の行をsleep 1と修正して保存します。

# while文を使ってみよう
a = 0

while(a < 10) do
  p a
  sleep 1 # ←修正箇所
end

修正したプログラムを実行し強制終了する

コマンドライン上でプログラムを指定して実行します。1秒おきに数値0が表示され続けます。

無限ループが発生しているので待っていても処理は終わらないので、Ctrlキーを押しながらCキーを同時に押してプログラムを強制終了します。

$ ruby while.rb
0
0
0
^Cwhile.rb:6:in `sleep': Interrupt
        from while.rb:6:in `<main>'

breakを使ってプログラムを修正する

先ほどのプログラムを以下のように修正して保存します。

# while文を使ってみよう
a = 0

while(true) do # ←修正箇所
  p a
  a += 1 # ←修正箇所
  break if a > 9 # ←修正箇所
end

修正したプログラムを実行する

コマンドライン上でプログラムを指定して実行します。0から9までの数値が表示されます。

$ ruby while.rb
0
1
2
3
4
5
6
7
8
9

nextを使ってプログラムを修正する

先ほどのプログラムを以下のように修正して保存します。

# while文を使ってみよう
a = 0

while(a < 10) do # ←修正箇所
  a += 1
  next if a == 5 # ←修正箇所
  p a # ←修正箇所(順番を変更)
end

修正したプログラムを実行する

コマンドライン上でプログラムを指定して実行します。5を除いて1から10までの数値が表示されます。

$ ruby while.rb
1
2
3
4
6
7
8
9
10