我创建了一个规则,其“when”条件如下: -
when
$map: Map(this["key1"].equals("value1")) and Map(this["key2"].equals("value2"))
then
...
上述情况正常。 现在如何在规则中添加多个布尔条件? 例如。上述规则可概括为:a和b 所以,如果我想创建一个规则:(a和b)或c那么它的实际drl语法是什么。 我是drools的新手,所以请帮助我使用规则(a和b)或c的语法。
我确实创建了一个语法
when
$map: Reindexing((Map(this["key1"].equals("value1")) and Map(this["key2"].equals("value2"))) or Map(this["key3"].equals("value3")))
then
但是我得到了以下异常
错误消息:消息[id = 1,level = ERROR, path = mapIterationRules.drl,line = 13,column = 0 text = [ERR 101] Line 13:21在输入'(在规则“第一规则”中)没有可行的替代方案
由于
答案 0 :(得分:2)
找出上述规则的语法。感谢laune和toni的帮助。
这是语法
when
$map: Map( this["data1"].equals("dataOutput1") ) || Map( this["data2"].equals("dataOutput2") && this["data3"].equals("dataOutput3") )
当在同一个括号内时,不需要再次输入类名。