ループをやり直す
continue p1
p1 = 0~ : 繰り返しカウンタ変更値
repeat~loop間のループをやり直します。 continue命令が実行されると、repeat命令まで戻り次の繰り返しを実行します。 repeat 5 if cnt=2 : continue mes "cnt="+cnt loop 上の例では、システム変数cntが2になった時点で、continue命令が実行される しくみになっています。 上のスクリプトが実行されると、 cnt=0 cnt=1 cnt=3 cnt=4 のような表示になり、システム変数cntが2の時だけmes命令が実行されないの がわかります。 最初はわかりにくいかもしれませんが、continue命令は、loop命令の場所では ないが、loop命令と同じ働きをするとも言えます。 繰り返しのカウンタは、continue命令が実行された場合でも、loop命令と同様 1つ増加します。 もし、最後の繰り返しでcontinue命令が実行されると、repeat~loopが終わっ た状態、つまりloop命令の次の命令から実行を続けます。 さらにもう1つ、continue命令にはパラメータを指定する使い方が存在します。 continueの後に、数値または数値型変数を指定することにより、繰り返しのカ ウンタを示すシステム変数cntの内容を変更することができます。 たとえば、「continue 1」と指定した場合は、システム変数cntの内容は1にな り、その値のままrepeat命令の次から繰り返しを続けます。 パラメータを省略して、ただの「continue」だけの場合はloop命令と同様の処 理、数値を指定すると、カウンタの値を変更して繰り返しをやり直すことにな ります。 ですから、 repeat 1 await 10 getkey a,1 if a=0 : continue 0 loop このようなスクリプトでは、通常1回だけしか実行されないはずの、 repeat~ loopの繰り返しですが、マウスの左ボタンが押されていない場合は、カウンタ が0に戻され無限ループの状態になります。 これで、ボタンを押すまで待つと いう動作になります。
バージョン | 3.1 |
作成日 | 2004/10/12 |
著作者 | onitama |
URL | http://www.onionsoft.net/ |
備考 | ver3.1標準命令 |
タイプ | 内蔵命令 |
グループ | プログラム制御命令 |
対応環境 |
|
hs ファイル | hsphelp\i_prog.hs |