<continue>
ループは終了せず、ループ内の次の繰り返しにジャンプします。
構文
<continue/>
詳細
属性または要素 | 説明 |
---|---|
name、disabled、xpos、ypos、xend、yend 属性 | "一般的な属性と要素" を参照してください。 |
<annotation> 要素 |
説明
BPL 構文では、必要に応じて、一連のアクティビティを含めることができるすべての要素 (<case>、<default>、<foreach>、<false>、<sequence>、<true>、<until>、<while>) に <continue> 要素を含めることができます。
<continue> 要素を使用すれば、現在の繰り返し内の処理をすべて実行しなくても、ループの次の繰り返しに制御を進めることができます。以下に例を示します。
<foreach property="P1" key="K1">
//...do various things...
<if condition="somecondition">
<true>
<continue/>
</true>
</if>
//...do various other things...
</foreach>
上記の例では、<continue> 要素は <true> 要素に含まれています。ただし、この <continue> 要素が実際に影響を与えるループは、この <continue> を含む <foreach> ループです。
この例は、次のように機能します。このループにおいて、<if> 要素の “somecondition” が真になる (整数 1 に等しくなる) と、<if> 内の <true> 要素に制御が渡されます。<continue> 要素に達すると、<foreach> ループの現在の処理が停止し、(次の項目がある場合は) このコレクションの次の項目に進み、ループの先頭から次の項目が処理されます。
<continue> 要素を使用して変更するループ・アクティビティには、<foreach>、<until>、<while> があります。ループ要素の各タイプで <continue> を使用すると、ループの現在の処理が停止し、ループの条件テストにジャンプします。そのテストとループのタイプによって次の動作が決まります。つまり、そのタイプのループが持つ通常の動作に応じて、ループを続けるか、ループを終了します。以下に例を示します。
<continue> を含むループ | <continue> の動作 |
---|---|
<foreach> | コレクションの次の項目をテストします。項目が見つかると、その項目がループの最初から処理されます。テスト条件と一致する項目がコレクションにない場合は、ループを終了します。 |
<until> | ループの最後の条件テストにジャンプします。条件が真の場合はループを終了し、偽の場合はループの文を実行します。 |
<while> | ループの最初の条件テストにジャンプします。条件が真の場合はループを終了し、偽の場合はループの文を実行します。 |