カテゴリー
Ruby

untilについて知ろう

この章ではuntil文について説明します。
untilもwhileと同じく繰り返しを行う場面で使用されます。
untilは実行される時に条件式がtrueもしくはfalseであるのかをチェックします。
falseである場合はuntilの処理文が実行されます。
trueである場合には処理文は実行されません。
whileは条件式がtrueの場合に中身が実行されるので、違いを確認してください。
では例をみてみましょう。9 until文の構文は以下の通りです。9 では実行の手順について説明します。
① numに1を入れます。goukeiに0を入れます。
num>3がfalseなので、繰り返し文を実行します。

② goukei +=numが実行されます。
これは9と同じ意味なので9と計算され、1がgoukeiに代入されます。

③ num +=1の箇所で9と計算され numには2が代入されます。

④先頭に戻って9を評価しますが、まだnumは2でfalseなので、繰り返し文は実行されます。

⑤ goukei +=numが実行されます。
これは9と計算され、3がgoukeiに代入されます。

⑥ num +=1は9と計算され、numには3が代入されます。

⑦先頭に戻って9を評価しますが、まだnumは3でfalseなので、繰り返し文は実行されます。

⑧ goukei +=numが実行されます。
これは9と計算され、6がgoukeiに代入されます。

⑨ num +=1は
9と計算されnumには4が代入されます。

⑩先頭に戻って9を評価しますが、
ここでnumは4でtrueになり繰り返し文は終了します。

⑪最後に9を実行して、6を出力します。
これをwhileを使って書き替えると次のようになります。9 「while !(num> 3)」のようにwhileと条件式の間に否定の演算子「!」を付けるとuntilを使ったのと同じ意味になります。
次はuntil装飾子について説明します。
until装飾子とはuntil条件文 を末尾に書く形式のことを言います。9 条件式がfalseの間は繰り返し文が実行されます。
では例をみてみましょう。9 numを出力してから、untilの条件式の判定に入るので結果は1から4までを出力します。
結果は以下の通りです。9

カテゴリー
Perl

until文を知ろう

この章ではwhileとは機能が逆のuntil文について説明します。
while文は条件式がTRUEの時にブロック内を実行しますが、untilは条件式がFALSEの時にブロック内を実行します。
初めにuntilの条件式がTRUEなのかFALSEなのかをチェックしますがFALSEである場合にはuntilの処理文が実行され、TRUEである場合にはuntilの処理文は実行されません。1では例をみてみましょう。
11until ($i> 4)の条件式をif文と同じようにTRUEかFALSEで判定しますが、FALSEですので1を実行して、1を出力します。
TRUEであるならば何も出力されません。そして下の2に進みます。
11$iは上の2番の$i++で1が足されているので2になっています。
そして1の条件判定に入りますが、まだFALSEですので1を実行し、2を出力します。
11$iは上の4番の$i++で1が足されているので3になっています。
そして1の条件判定に入りますが、まだFALSEですので1を実行して、3を出力します。
11$iは上の6番の$i++で1が足されているので4になっています。
そして1の部分の条件判定に入りますが、まだFALSEですので、1を実行し、4を出力します。
11$iは上の8番の$i++で1が足されているので5になっています。
そして1の条件判定に入りますが、ここで初めてTRUEになりますのでループを終了します。
結果は「1234」です。
上の例をwhileで書き直してみると以下のようになります。1