【UWSC】ループ命令「WHILE」の使い方

WHILEの概要

WHILEの基本

UWSCでは複数のループ命令が用意されているが、その中でもWHILEは不定回数繰り返し処理する場合に用いられる。

WHILEで指定された式が真である場合、処理が実行され、WENDまで処理が行われる。

WHILE 式
	処理
WEND

基本的に上記のように使われる。

WHILEでループさせる場合の注意点

WHILEは条件式の指定を間違えると無限ループに陥ってしまう可能性がある。

その際にウェイト処理でSLEEP関数を入れていないとCPUの負荷がものすごいことになってしまう。

最低限SLEEP命令を入れて負荷を下げるべき。

できれば条件式でスクリプトを終了させやすくすべき。

WHILEの使い方

WHILEのサンプル

WHILEの注意点を考慮すると次のような使い方をテンプレートとして用いたほうが安全だろう。

WHILE !GETKEYSTATE(VK_ESC)
	SLEEP(0.1)
WEND

!GETKEYSTATE(VK_ESC)はエスケープキーの入力状況を判断する命令だ。

上記のサンプルではエスケープキーが押されるとループを終了させるようにしてある。

そしてSLEEP命令は指定した時間だけ待機する命令だ。

秒単位で指定でき、最小時間は0.001秒になる。

上記のサンプルでは0.1秒にしてあるが、実際にそこまでシビアなタイミングを求められないループなら問題ないだろう。

ループ処理の抜け方

UWSCではループ処理の途中でループを抜けたり、ループの先頭に戻る命令が用意されている。

  • BREAK ループを抜ける
  • CONTINUE ループの先頭に戻る

これらの命令を用いればループ処理を制御できる。

厳密には多重ループを何回分抜けるか指定できるが通常は無指定で問題ないだろう。

必要になったら改めて使い方を調べてほしい。

とはいえ何回分か回数を指定するだけなのだが。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です