1

我有以下 Drools DSL“句子”:

[when]The field {field} in the module {module} contains value {value}=$a : {module} ( {field} != null)
      String( this.equalsIgnoreCase("{value}") ) from $a.{field}

其中fieldSet字符串的一个。

现在,如果我有两个这样的规则,它显然不会起作用,因为变量$a出现了两次。所以我想改进规则以使变量变得可变:

[when]The field {field} in the module {module} contains value {value} as {a}={a} : {module} ( {field} != null)
      String( this.equalsIgnoreCase("{value}") ) from {a}.{field}

这不起作用,我不能使用损坏的部分{a}.

所以,我的问题是:有没有办法重写规则或允许{variable}.符号工作?或者,是否有一个contains不区分大小写的运算符?

4

1 回答 1

2

订阅 Drools-Users 邮件列表后,我得到了答复:

http://drools.46999.n3.nabble.com/rules-users-Using-from-x-field-in-DSL-tt4017872.html

摘要:DSL 解析器中的错误,作为一种解决方法,在 RHS 上的变量后添加一个额外的字母:... as {a}={a}x (...) ... from {a}x.{field}

于 2012-06-13T07:46:11.270 回答