DMN 1.3规范表55文法规则49.c的'in'运算符语义及缺失内容咨询
DMN 1.3 文法规则49.c完整说明及对应
in运算符语义 完整缺失文本
applicability字段被截断的内容为variable '?',拼接后完整规则如下:
Grammar Rule: 49.c Feel Syntax: e1 in e2 Equivalent FEEL Syntax: { ? : e1, r : e2 }.r applicability: e2 is a boolean expression that uses the special variable '?'
对应中文释义:适用场景:e2是使用了特殊变量?的布尔表达式
规则含义
- 该规则仅适用于
in运算符右侧为带特殊变量?的布尔表达式的场景,和in右侧为集合、范围的场景属于不同的文法分支 - 给出的等价FEEL语法已经完整解释了执行逻辑:先构造一个临时上下文,将特殊变量
?绑定为左侧表达式e1的求值结果,再在该上下文内对e2求值得到结果,最终返回该结果
该用法下in运算符完整语义
- 对左侧表达式
e1进行求值,得到结果值v1 - 生成临时上下文,将特殊变量
?的值绑定为v1 - 在生成的临时上下文范围内,对右侧表达式
e2求值,得到布尔类型结果v2 - 整个
e1 in e2表达式的返回值即为v2
举个实际用法示例:12 in (? * 2 > 20)的求值结果为true,等价于先将?赋值为12,再判断12*2>20是否成立。
内容的提问来源于stack exchange,提问作者Paul Chernoch
相关产品推荐
相关产品推荐

