式ステートメントの評価の順序

Domino® では、上から下、左から右の順序で式が評価されます。1 つのステートメントの評価が終ってから、次に進みます。ただし、@PostedCommand といくつかの @Command 関数は、他の @関数の実行がすべて完了した後で順番に実行されます。式言語には、制御ロジック用のいくつかの @関数があります。

@コマンドを除き、式言語は Notes オブジェクトのバックエンドオブジェクトを操作します。例えば、式内にフィールドを記述すると、保存されているフィールドの値が参照されます。FIELD 予約語を使用すると保存されたフィールドの値を変更できます。@コマンドはユーザーインターフェースで機能します。ユーザーインターフェースで行った変更は、文書を保存するまでバックエンドには反映されません。同じ文書に対して、バックエンドでのアクセスとユーザーインターフェースでのアクセスを混同した場合、正しい結果を得ることはできません。

@コマンドを評価する

@PostedCommand 関数は、式内の他の @関数がすべて実行された後で実行されます。例えば、次のような式があるとします。

@PostedCommand([CommandName]; Argument);
@If(Condition; TrueStatement; FalseStatement);
FIELD X := "Text"

最初のステートメントは最後に実行されます。

@コマンド関数は、一部の例外を除き、式内での順序で実行されます。例外的に、@PostedCommand のように式の最後に実行されるものもあります。各例外には、すぐに実行される同等の @コマンドがあります。

次の表は、最後に実行される @コマンドとすぐに実行される @コマンドの対応を示すリストです。

注: すぐに評価される関数は Release 6 で新しく追加されました。

@If 関数

@If では、論理値が True か False かによって異なるステートメントが実行されます。

@If(LogicalValue; TrueStatement; FalseStatement)

@Do 関数

@Do では、複数のステートメントが連続して実行されます。@If 関数内での実行パスとして使用できます。

@If(LogicalValue; @Do(TrueStatement1; TrueStatement2); FalseStatement)

@Do 関数内の @Command 関数は、他のすべての @関数 (@Do の内側、外側にかかわらず) が実行された後で実行されます。

@Return 関数

@Return は、式の実行を停止します。

@If(LogicalValue; @Return(""); "")