我想在我的drl文件中声明一个布尔变量,并且想要根据该变量的值编写规则。我无法找到任何这方面的好例子。布尔变量的流水规则
我试图像:
声明标志 标志:布尔 端
在规则中的一个,我喜欢修改:
标志= Boolean.TRUE;
,我的原则是
规则“< 210>确定标志” 时 标志(标志==真)
但它给我的错误作为标志不能得到解决。
我想在我的drl文件中声明一个布尔变量,并且想要根据该变量的值编写规则。我无法找到任何这方面的好例子。布尔变量的流水规则
我试图像:
声明标志 标志:布尔 端
在规则中的一个,我喜欢修改:
标志= Boolean.TRUE;
,我的原则是
规则“< 210>确定标志” 时 标志(标志==真)
但它给我的错误作为标志不能得到解决。
你不能以通常的方式声明变量(我认为)你正在尝试这样做。请阅读Drools文档并区分绑定变量,全局变量,事实及其字段和右侧局部变量(如在静态Java方法中)。
要了解如何declare
用布尔野外工作,使用下面的代码DRL:
declare Flag
flag: Boolean
end
rule "hoist a Flag"
when
not Flag()
then
insert(new Flag(true));
end
rule "a true Flag"
when
Flag(flag)
then
System.out.println("The Flag.flag is true.");
end
您可以使用以下方法:
rule "Test"
when
a: TestClass(getFlag())
then
//some action
end
也看到这样的回答:Drools Rule - writing rule against boolean field, name starting with "is"