アマグラミング

プログラミング初心者が勉強したことを復習とメモがてら書いているだけです。

(29)redoについて学ぼう

redoについて勉強していきます。

 

redoは繰り返し処理の中で実行されると、今実行している繰り返しを

もう一度はじめから行います。

最初からですよ。

 

では書いてみましょう。

 

count = 10

 

while count < 25 do
puts "#{count}お金がないよおー"


count = count + 2

if count == 20
puts "#{count}お金欲しいよおー"
redo

end


puts "#{count}お腹減ったー"
end

 

これを実行してみます。

 

f:id:tiroru17:20170608192901p:plain

 

するとこうなります。

 

この流れを見るとプログラムがどう動いているかが、

わかります。

 

一番注意してほしいのは

countが20になったときです。

end後のputsは出力せず、先頭のputsへ移動しています。

 

そしてですよ最後の出力はcountが26になっているのに

出力しています。

 

ということは最後のputsはwhileの条件分岐を無視してるってことですかね。

ただし、26での繰り返しがないってことは

繰り返しそのもの、つまりwhile文自体を無視しているようです。

でもcount+2の変数の書き換えはしているんですよね・・・

なんぞこれ。

 

そうか、26になってputsで出力してから、

条件分岐でcount < 25の分岐でfalseになって停止しているのか。

 

まあこれで動きについてはわかりましたね、ね!?

 

次の記事です

tiroru17proguram.hatenablog.com