我正在使用流口水来验证对象。该对象还具有getChildrenList()方法,该方法返回与此对象有关的子对象(主从关系)。
我对对象进行了一些验证,然后我也想验证子对象,因此我使用以下规则将所有子对象也插入到工作内存中:
rule "Insert Children"
when
$parent : Parent ( eval(childrenList != empty) )
$ch : Child() from $p.childrenList
then
insert($ch);
end
现在,如果已经插入了子代,则如何确保不触发此规则。我的意思是因为我修改了一些事实,因此重新启用了该规则。我该如何预防?
谢谢
最佳答案
您可以尝试将此行添加到when
条件中,尽管我怀疑这不是“正确的”习惯用法:
not( Child(this == $ch) )