访问表达式中值的属性

在表达式中,某些类型的数据具有属性。 本文是从开发人员的角度撰写的,介绍了如何访问表达式中值的属性。 在 Architect 中,货币数据值元素包含两个可用的属性:

  • 金额: 反映货币金额的 小数点
  • 编解码器 包含货币的 ISO 4217 代码的字符串。

例如, 金额 为 5.00 且 代码为 “USD” 的货币为 5 美元

示例 访问货币设置的金额

假设您有一个带有 Currency 数据类型的 Flow.myCurrency 变量,并且您想要获取在货币上设置的金额。 Architect 支持三种语法方式来访问 Aamount 属性。 

方法 描述
Flow.myCurrency.amount 此方法适用于名称以字母开头,后跟一个或多个字母、数字或下划线的任何属性。
Flow.myCurrency。” 金额”

此方法对任何属性名称都有效,包括包含空格或句点的属性名称。 重要的是要记住,你通过字符串文字访问属性,并且标准的 转义规则 适用于字符串文字。 如果值包含 AM\ PM 的属性名称,则使用 flow.myCurrency.amountLearn 示例中显示的语法访问它是无效的。 

有效

按如下方式使用字符串文字:

Flow.MyCurrency."AM\\PM"

在此示例中,使用反斜杠作为字符串文字内的转义序列。 

无效

使用 flow.myCurrency 方法,只支持字符串文字。 以下示例无效。

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

如果属性名称包含需要转义的字符,请使用引号访问它。 在下面的示例中,我们想要访问数据类型的 “AM\ PM” 属性名称。 正确的字符串是:

Flow.ExampleVar."AM\PM"

有关如何转义字符串文字的更多信息,请参阅在表达式中 使用字符串文字

Flow.myCurrency [“金额”] 此方法与 F low.myCurrency 相同。 但是,请使用括号运算符而不是小数点来 访问属性。 此方法同时包含一个左括号和一个右括号。 虽然支持此表示法,但它不是表达式编辑器中提前键入功能中显示的默认值。 此外,括号内的属性访问必须是具有适当转义功能的字符串文字。

上面的示例使用一个变量来访问 amount 属性。 请记住,您实际上是在使用货币变量上的货币值并访问该变量的属性。 例如,以下也是有效的示例,因为 MakeCurrency 返回货币值,您可以从返回的货币中访问金额:

  • MakeCurrency(10.00,“美元”)。金额
  • MakeCurrency(10.00,“美元”)。” 金额”
  • MakeCurrency (10.00, “美元”) [“金额”]

数据值中的 NOT_SET

在表达式中,请确保已设置值。 例如,如果货币值为 NOT_SET,则无法访问 “金额” 或 “代码” 属性。 这个例子在语法上是有效的:

ToCurrency(NOT_SET).Amount

但是,由于您无法访问 NOT_SET 货币上的 Aamount 属性,因此在运行时会发生错误。 最佳实践建议您在访问数据值上的属性之前确认数据值是否为 NOT_SET。