カテゴリー
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