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