roy > naoya > 基礎プログラミングI·情報検索 > (4)制御構造[2]> 補足

(4) 05/12の授業内容:制御構造[2]補足

繰り返し:until-end

while-endでは、whileの横に書かれた条件を満たす間は繰り返し処理を実行するが、until-endではuntilの横に書かれた条件を満たしていない場合に処理を繰り返し実行する。

#!/usr/koeki/bin/ruby

sum = 0
i = 1
until sum >= 20
   sum += i
   i += 1
end
printf("sumの値は最終的に%dになりました\n",sum)

上記の例では、untilの横に記載された条件はsum >= 20である。つまり「sumが20以上である」という条件を満たさない場合はその下の処理を繰り返し実施することになる。言い換えれば「sumが20をこえるまで」処理を繰り返すということになる。これはwhile-endを使用して書くことも可能である。while-endを用いて書き直した例を以下に示す。

#!/usr/koeki/bin/ruby

sum = 0
i = 1
while sum < 20
   sum += i
   i += 1
end
printf("sumの値は最終的に%dになりました\n",sum)

whileの行1行を変更するだけで同じ結果になる。

繰り返し:times

単純に一定回数繰り返す場合に用いる。以下のどちらの方法でもよい。

#!/usr/koeki/bin/ruby

4.times {
  print"Hello\n"
}
#!/usr/koeki/bin/ruby

6.times do
  print"Hello\n"
end

仮に下のプログラムをtimes.rbという名称で保存し実行すると、以下のようにHelloが6回表示される。。

irsv{c10xxxx}% ruby times.rb[Return]
Hello
Hello
Hello
Hello
Hello
Hello