式で値のプロパティにアクセスする


式内で、一部のデータ型はプロパティを持ちます。開発者の視点で書かれているこの記事は、式内の値のプロパティにアクセスする方法について説明しています。 Architect では、通貨データ値要素には 2 つのプロパティがあります:

  • 金額通貨の金額を反映する 10 進数
  • コード:通貨として ISO 4217 コードを含む文字列。

例えば、金額が 5.00 でコードが "USD" である通貨は 5 米ドルです。

例:通貨で設定された金額にアクセスする

Suppose you have a Flow.MyCurrency variable with a Currency data type, and you want to obtain the amount set on the currency. Architect supports three syntactic ways to access the Amount property. 

方法 説明
Flow.MyCurrency.Amount この方法は、名前が英字で始まり、1つ以上の英数字または下線が続くプロパティに対して有効です。
Flow.MyCurrency.”Amount”

この方法は、空白やピリオドを含むプロパティ名を含め、どのようなプロパティ名にも有効です。文字列リテラルを使ってプロパティにアクセスすること、そして文字列リテラルに標準エスケープ ルールが適用されることを忘れないことが重要です。値に AM\PM というプロパティ名が含まれている場合、Flow.MyCurrency.AmountLearn example に示されている構文でそれにアクセスすることはできません。 

有効

文字列リテラルは次のように使用します:

Flow.MyCurrency."AM\\PM"

この例では、文字列リテラル内のエスケープ シーケンスとしてバックスラッシュを使用しています。 

無効

Flow.MyCurrency 方法を使用する場合には、文字列リテラルしかサポートされていません。次の例は有効ではありません。

Flow.MyCurrency."Am"+"ount" or Flow.MyCurrency.(Am"+"ount")

プロパティ名にエスケープが必要な文字が含まれている場合、引用符を使ってアクセスします。以下の例では、データ型の「AM\PM」プロパティ名にアクセスします。正しい文字列は:

Flow.ExampleVar."AM\PM" 

For more information about how to escape string literals, see Use string literals in expressions.

Flow.MyCurrency[“Amount”] この方法は Flow.MyCurrency と同じです。しかしながら、10 進数ではなくブラケット演算子を使ってプロパティにアクセスします。この方法には左ブラケットと右ブラケットが両方含まれています。この表記法はサポートされていますが、これは式エディターの IntelliSense にデフォルトとして表示されません。また、ブラケット内のプロパティへのアクセスは適切なエスケープを持つ文字列リテラルでなければなりません。

上記の例では、変数を使って金額プロパティにアクセスしています。本質的には、通貨変数上の通貨値を使用して、その変数のプロパティにアクセスしていることに留意してください。例えば、MakeCurrency は通貨値を返し、返された通貨から金額にアクセスできるため、以下も有効な例です。

  • MakeCurrency(10.00, “USD”).Amount
  • MakeCurrency(10.00, “USD”).”Amount”
  • MakeCurrency(10.00, “USD”)[“Amount”]

データ値内の NOT_SET

式で、必ず値を設定してください。例えば通貨値が NOT_SET であれば、その金額やコード プロパティにはアクセスできません。次の例は構文的に有効です:

ToCurrency(NOT_SET).Amount

However, an error occurs at runtime because you cannot access the Amount property on a NOT_SET currency. Best practice recommends you confirm that a data value is NOT_SET before you access a property on it.