forall 总是计算为真 [Drools]
forall always evaluates to be true [Drools]
我有一个 class 应用程序,其中有一个 CallPhones 实例列表。
class Application() {
List<CallPhones> callPhonesList;
...
}
class CallPhones() {
Integer callTimes;
...
}
我想在所有实例的 callTimes
大于 10 时触发规则。规则如下:
rule "Application eligible"
when
app : Application()
forall(CallPhones(callTimes > 10))
then
// application is eligible
end
奇怪的是,规则总是触发,即使有一个 callTimes
为 5 的实例。我也尝试了 this question 的答案,但没有帮助。有什么想法吗?
应该是
rule "Application eligible"
when
app : Application()
forall($temp:CallPhones(callUserTimes > 10) from app.callPhoneList)
then
// application is eligible
end
我有一个 class 应用程序,其中有一个 CallPhones 实例列表。
class Application() {
List<CallPhones> callPhonesList;
...
}
class CallPhones() {
Integer callTimes;
...
}
我想在所有实例的 callTimes
大于 10 时触发规则。规则如下:
rule "Application eligible"
when
app : Application()
forall(CallPhones(callTimes > 10))
then
// application is eligible
end
奇怪的是,规则总是触发,即使有一个 callTimes
为 5 的实例。我也尝试了 this question 的答案,但没有帮助。有什么想法吗?
应该是
rule "Application eligible"
when
app : Application()
forall($temp:CallPhones(callUserTimes > 10) from app.callPhoneList)
then
// application is eligible
end