スクリプトガイド > JSLの構成要素 > 反復 > BreakおよびContinue
公開日: 11/25/2021

BreakおよびContinue

Break()Continue()を使うと、ループをさらに制御することができます。Break()は、ループを直ちに中断し、ループの後に続く式を実行します。Continue()は、Break()を少し柔和にしたもので、現在のループの反復を直ちに中断し、次の反復を続行します。

Break

Break()は通常、条件文の中で使用します。たとえば、次のような手順で要約できます。

For( i = 1, i <= 5, i++,
	If( i == 3, Break() );
	Print( "i=" || Char( i ) );
);

の結果は、次のようになります。

"i=1"

"i=2"

このスクリプトは次のように機能します。

For(

For()ループを開始する。

i = 1,

iを1に設定する。

i <= 5,

iが5以下である限りループの評価を繰り返す。

i++,

iを1だけ増やす。このステップはIFループの評価後に実行されます。

If(

If()ループを開始する。

i == 3, Break()

iが3に等しい場合、ループを中断する。

);

ループを終了する。

Print(

iが3に等しくない場合、Print()ループを開く。

"i="

文字列"i="をログに出力する。

||

後続の値を、"i="と同じ行に出力する。

Char(i));

iの値をログに出力する。

For()ループはiの値が5以下の間は繰り返すようになっていますが、iが3に等しい場合は中断してループから抜けるため、iが3より小さい場合のみ値を出力します。

);

ループを終了する。

Printの後にIf()式とBreak()式が続く場合、"i=3"が出力された後にループが中断するので、1~3のiの値が出力されることになります。

"i=1"

"i=2"

"i=3"

Continue

Continue()も、Break()と同様に条件式の中で使用されます。たとえば、次のような手順で要約できます。

For( i = 1, i <= 5, i++,
	If( i < 3, Continue() );
	Print( "i=" || Char( i ) );
);

の結果は、次のようになります。

"i=3"

"i=4"

"i=5"

このスクリプトは次のように機能します。

For(

For()ループを開始する。

i = 1,

iを1に設定する。

i <= 5,

1が5以下であると評価する。

i++,

iを1だけ増やす。このステップはIFループの評価後に実行されます。

If(

If()ループを開始する。

i < 3, Continue()

iを1と評価し、iが3より小さい限り続行する。

);

If()ループを終了する。

Print(

iが3以上になったら、Print()ループを開く。

"i="

文字列"i="をログに出力する。

||

後続の値を、"i="と同じ行に出力する。

Char(i));

iの値をログに出力する。

その後、iの値が5以下の間はFor()ループを繰り返し、iが3以上の場合は続行して出力します。

);

ループを終了する。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).