gpt4 book ai didi

java - DROOLS 如果条件之一不匹配则停止评估

转载 作者:行者123 更新时间:2023-12-01 10:49:30 25 4
gpt4 key购买 nike

我有以下规则:

when
not FixedClient(service == null) and
not FixedClient(service.statusCode == "CU") and
$client : FixedClient(lastChargeDate > 3)
then
...

从日志来看,即使第一个条件返回 true(即服务为空),其余条件仍然会被评估,这会导致空指针异常。有没有办法优化条件,以便在满足错误条件时停止评估(类似于 Java 中 && 的工作方式)?

最佳答案

这个条件是什么:

not FixedClient(service == null) and
not FixedClient(service.statusCode == "CU") and
$client: FixedClient(lastChargeDate > 3)

意思是:“如果没有服务等于 null 的客户端,并且没有状态代码等于“CU”的客户端,并且如果有(一个或多个)客户端的最后收费日期大于 3,则执行...”

模式前面的运算符not否定存在量词,在(逻辑)中用表示。这不能与逻辑运算符not相混淆,逻辑运算符not在逻辑中表示为-,或者在Java中表示为!。在日常用语中,这可以通过说“没有红色汽车”来表达,而不是说“有一辆颜色不等于红色的汽车”。

像这样修改您的条件:

when
$client: FixedClient(service != null &&
service.statusCode != "CU",
lastChargeDate > 3)
then

查找服务达到某个值的客户,该值既不为 null,也不为 CU,且最后收费日期大于 3。

关于java - DROOLS 如果条件之一不匹配则停止评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33997973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com