トップページへ | [ 一覧 | 検索 | 最終更新 ] [ 差分 | 履歴 | 凍結 ] |
繰り返し†for†for文は for 初期条件; 終了条件; 各ループの最後に実行される処理 { ... } のように書きます。 たとえば10回ループさせたい場合は for _i = 0 ; _i < 10 ; _i = _i+1{ _i+"回目\n" } とすると0回目,2回目...9回目が改行しながら出力されます。_i++は各ループ処理の後、つまり_i+"回目\n"が出力された後に実行されることに注意してください。 この例では"9回目\n"が出力された後、_iが+1されて10になり、判定条件が偽になるためループが終了し、0から9で合計10個のループ回数になります。 また、ループ文でよく使う演算子として++, --, +=, -=などがありますが、これは
と同じです。従って上のfor文は for _i = 0 ; _i < 10 ; _i = _i++{ _i+"回目\n" } と書いても構いません。 また、YAYAにおいては、for文や後述するwhile文ではif文と違い for(_i = 0; _i < 10 ; _i++){ ... } のように条件式を()でくくるとエラーとなるので注意してください。 while†for文のほかにwhile文を使ってもループを書けます。 while ループ終了条件 { ... } のように書きます。 前述のfor文は _i = 0 while _i < 10 { _i+"回目\n" _i++ } のように書けます。 以下のようにwhile文の判定式を常に正とすると無限ループになり、処理が終わらなくなります。 while 1 == 1 { ... } 1 == 1は恒等式で常に成立するので無限ループになります。またYAYAではbool値(真偽値)は数値の0か0でないかで判定されるので while 1 { ... } も無限ループになります。 breakについて†for文、while文の途中でループを抜け出したいときはbreakを使います。 たとえば _i = 0 while 1 { if (_i >= 10){ break } _i+"回目\n" _i++ } この処理は、while文の条件式が常に真なので無限ループに見えますが、while文の中で"_iが10以上になったらbreak"の処理が入っているので、前述の10回ループする文と同値の処理になります。 |
最終更新日: 2017-10-19 (木) 19:02:16
|