NOT_SET 式の用途


何ですか NOT_SET?

NOT_SET 式のスカラー値に適用される値です。値が定義されていないことを示すために使用します。Architectでは、スカラー値は非コレクション値です。例えば:次の文字列では、戻り値は NOT_SET 文字列:

ToString(NOT_SET)

未定義の文字列値は空白文字列と同じではありません。以下の式をランタイムに評価すると、式は false を返します。

ToString(NOT_SET) == ""

NOT_SET 値は、パラメータ値に対する多くのオーバーロードおよび関数では許可されていません。の中に 式のヘルプ ダイアログボックス、関数オーバーロードパラメータは、 NOT_SET 値は許可されています。各パラメータには、NOT_SET 許可するかどうかを示すエントリ NOT_SET 指定されたタイプのパラメータ実行時に、Architectが無効なパラメータでパラメータを評価した NOT_SET value、エラーハンドラを呼び出します。

渡された値が NOT_SET?

実行時のエラーを回避するために、 NOT_SET 式で。次の例は、ランタイムに失敗する式のシナリオを示します。

Flow.MyIntegerは、の値を持つ整数変数です。 NOT_SET。この場合、フロー作成者には、この式を別の整数変数に割り当てるデータ更新アクションがあります。

5+Flow.MyInteger

Flow.MyIntegerには、入力時に値が割り当てられていないため、コールフローランタイムにundefined 5を追加するように要求します。この式には答えがないため、エラーとなります。フロー作成者がFlow.MyIntegerに値(たとえば、 NOT_SET)、5 + Flow.MyIntegerは問題なく動作します。ただし、Flow.MyIntegerに NOT_SET valueの場合、フロー作成者はこれを式で明示的にチェックして適切に処理する必要があります。


次の例は使い方を示しています NOT_SET 式の中で

この場合、追加のロジックはFlow.MyIntegerのインスタンスを次の条件で扱います。 NOT_SET それが0であるかのように:

5+If(IsSet(Flow.MyInteger),Flow.MyInteger,0)

式は基本的に「Flow.MyIntegerには値が存在しますか?存在すれば、それを使用して、そうではなく、Flow.MyInteger に値が存在しなければ、値として 0 を使用する」というものです。この場合、フローの作成者は、値が NOT_SETそして実行は継続されます。

IsNotSetOrEmpty

IsNotSetOrEmptyも役に立ちます ランタイム関数で、IsSetに似ています。この関数は、値が NOT_SET コレクションなど、空です。この機能の詳細については、 式のヘルプ

NOT_SET とコレクション

コレクションは決してない NOT_SET 全体として。ただし、コレクションには NOT_SET アイテム