関連する関数にWhile()があります。この関数は、条件を繰り返しテストし、条件が真であればbodyのスクリプトを評価します。構文は次のとおりです。
While( condition, body );
たとえば、次に示す2つのプログラムは、x (287)以上かつ最小の2のべき乗を見つけるWhile()ループを使っています。どちらのプログラムでも結果は512になります。
x = 287;
// ループ1:
y = 1;
While( y < x, y *= 2 );
Show( y );
// ループ2:
k = 0;
While( 2 ^ k < x, k++ );
Show( 2 ^ k );
このスクリプトは次のように機能します。
x = 287; |
xを287に設定する。 |
// ループ1 |
|
y = 1; |
yを1に設定する。 |
While( |
While()ループを開始する。 |
y < x, |
yがxより小さい限りループの評価を繰り返す。 |
y *= 2 |
1に2を掛け、結果をyに割り当てる。その後、yが287より大きくなるまで、ループを繰り返します。 |
); |
ループを終了する。 |
Show(y); |
y (512)の値を表示する。 |
// ループ2 |
|
k = 0; |
kを0に設定する。 |
While( |
While()ループを開始する。 |
2 ^ k < x, |
2をkの指数でべき乗し、結果が287より小さい限り評価を繰り返す。 |
k++ |
kを1増やす。その後、ループを2^kが287より大きくなるまで繰り返します。 |
); |
ループを終了する。 |
Show(2 ^ k); |
2^kの値(512)を表示する。 |
For()ループと同様、常に真と評価されるWhileループも、終わりのない無限ループを生成します。スクリプトを停止するには、WindowsではEscキーを、macOSではcommandキーとピリオドキーを同時に押します。または、[編集]>[スクリプトの停止]を選択します。macOSでは、スクリプトの実行中のみ、[編集] >[スクリプトの停止]が使用可能になります。