Domino® では、上から下、左から右の順序で式が評価されます。1 つのステートメントの評価が終ってから、次に進みます。ただし、@PostedCommand といくつかの @Command 関数は、他の @関数の実行がすべて完了した後で順番に実行されます。式言語には、制御ロジック用のいくつかの @関数があります。
@コマンドを除き、式言語は Notes オブジェクトのバックエンドオブジェクトを操作します。例えば、式内にフィールドを記述すると、保存されているフィールドの値が参照されます。FIELD 予約語を使用すると保存されたフィールドの値を変更できます。@コマンドはユーザーインターフェースで機能します。ユーザーインターフェースで行った変更は、文書を保存するまでバックエンドには反映されません。同じ文書に対して、バックエンドでのアクセスとユーザーインターフェースでのアクセスを混同した場合、正しい結果を得ることはできません。
@PostedCommand 関数は、式内の他の @関数がすべて実行された後で実行されます。例えば、次のような式があるとします。
@PostedCommand([CommandName]; Argument);
@If(Condition; TrueStatement; FalseStatement);
FIELD X := "Text"
最初のステートメントは最後に実行されます。
@コマンド関数は、一部の例外を除き、式内での順序で実行されます。例外的に、@PostedCommand のように式の最後に実行されるものもあります。各例外には、すぐに実行される同等の @コマンドがあります。
次の表は、最後に実行される @コマンドとすぐに実行される @コマンドの対応を示すリストです。
@関数の後に評価 |
すぐに評価 |
---|---|
@If では、論理値が True か False かによって異なるステートメントが実行されます。
@If(LogicalValue; TrueStatement; FalseStatement)
@Do では、複数のステートメントが連続して実行されます。@If 関数内での実行パスとして使用できます。
@If(LogicalValue; @Do(TrueStatement1; TrueStatement2); FalseStatement)
@Do 関数内の @Command 関数は、他のすべての @関数 (@Do の内側、外側にかかわらず) が実行された後で実行されます。
@Return は、式の実行を停止します。
@If(LogicalValue; @Return(""); "")