ブロック内のすべての処理コマンドが1つの条件に依存するように、[ブロック]処理コマンドは論理ブロック内の一連の処理コマンドのグループを取り囲むように定義します。
[ブロック]処理コマンドを使用することで以下のような利点があります。
開発者に対しては、条件を各処理コマンドに対して設定する必要がなく、1箇所の設定で済むため工数が削減できます。また、プログラムの保守性が向上します。実行条件を変更する必要がある場合、[ブロック]処理コマンドの条件を変更するだけで済みます。
設計者に対しては、複数の処理コマンドを同じ条件で実行させる場合、複数の条件を設定する必要があります。[ブロック]処理コマンドを使用した場合は、Magicエンジンは[ブロック]処理コマンドの条件をチェックするだけで、各処理コマンドの条件を確認する必要がありません。
[ブロック]処理コマンドを使用することで、式を簡素化させることができます。複雑な式をいくつかの論理的なセクションに分割し、それぞれを[ブロック]処理コマンド内に1つの条件で実行するように定義することができます。
例えば、Country=ITALYとCity=ミラノの条件で確認用の[エラー]処理コマンドを実行させたい場合、以下のようにロジックを定義することができます。
B=ブロック I=If 条件:Country='ITALY' B=ブロック
I=If 条件:City='MILAN' B=ブロック E=End B=ブロック E=End |
[ブロック]処理コマンドは、ネストして定義することが可能です。もし一定の条件でいくつかの処理コマンドを実行する必要があり、処理コマンドのいくつかを異なる条件で実行させる必要がある場合、[ブロック]処理コマンドの中に別の[ブロック]処理コマンドを定義し、異なる条件を設定することで実現できます。この場合に、両方のブロック条件が満たされている場合のみ、ブロック内のすべての処理コマンドが実行されます。
上記の例の場合、Country=ITALYとCity=ミラノの2つの条件が成立した場合のみ[エラー]処理コマンドが実行されます。