criterion を指定する場合、 後続の when 文節があれば、それぞれに、1 つ以上の matchExpression インスタンスを 含める必要があります。 criterion を指定しない場合、 後続の when 文節があれば、それぞれに、論理式 を含める必要があります。
when 文節が呼び出されても何の効果もないようにしたい場合は、EGL 文を含めずに文節をコーディングします。
case 文には、when 文節がいくつあっても構いません。
matchExpression 値のプリミティブ型は、criterion 値のプリミティブ型と互換性がなければなりません。互換性の詳細については、『論理式』を参照してください。
when または otherwise 文節中で文が実行された後は、case 文の直後の EGL 文に制御が渡されます。 どのような状況でも、制御が次の when 文節に渡されることはありません。 呼び出されている when 文節がなく、デフォルトの文節が使用されていない場合も、case 文が終わった直後に、制御は次の文に渡され、どのエラー状態も有効になりません。
case (myRecord.requestID) when (1) myFirstFunction(); when (2, 3, 4) try call myProgram; onException myCallFunction(12); end otherwise myDefaultFunction(); end
単一の文節に matchExpression の複数インスタンス (上の例では 2、3、4) が含まれている場合、これらのインスタンスは左から右に評価され、criterion 値と一致する matchExpression が 1 つ検出されるとすぐに評価は停止します。
関連タスク
EGL 文およびコマンドの構文図
関連リファレンス
EGL 文
論理式
eventKey
systemType