while。
くるくる回す。
i = 0 while i < 5 puts i i += 1 end
結果。
0 1 2 3 4
近ごろ、仕事ではずっとC#を弄っているので、その癖で
i = 0 while i < 5 puts i i++ end
とやったら、syntax errorと怒られてしまった。Rubyに++演算子は無いということか。
無いなら無いでいいのだけど、気になることこの上なしなのでGoogle様に聞いてみたけど、Ruby "++"なんていうキーワードで検索しても引っかからない。
この件はとりあえず置いておこう。
whileもifみたいに修飾子として使えるとの情報を関係筋から手に入れたので、
i = 0 puts i+1 while i < 5
とやってみたら、無限ループになってしまった。恥ずかし、てへっ。
乙女のように恥じらいで頬を染めながら書き直した。
i = 0 puts i while (i = i + 1) < 5
結果。
1 2 3 4
while内での制御は、
- break
- next
- redo
がある。breakは一番内側から抜ける。nextは次のループ処理へ、redoは現在の処理をもう一度やり直す。
また、ifに対するunlessのように条件がfalseの場合に実行されるuntilがある。