我正在尝试为我正在处理的java项目编写Drools文件,并且我的一个规则严重依赖于小于或等于。我在几个地方读过你不应该使用<
并且实际上应该使用<
。据推测,这意味着<=
将成为<=
?
Netbeans也用红色突出显示我的<
,这表明有些不对劲。
这似乎完全疯我 - 这并不意味着改变下面的代码如下所示:
($T1.getValue()<$T2getValue)&&($T1.getOtherValue()<=$T2getOtherValue)
变为
($T1.getValue()<$T2getValue)&&($T1.getOtherValue()<=$T2getOtherValue)
对此有何解释?
答案 0 :(得分:1)
在*.drl
个文件中,您可以安全地使用<
和>
。它不需要XML或HTML转义。
例如,请注意&gt;在这个规则中,来自一个optaplanner例子:
rule "requiredCpuPowerTotal"
when
$computer : CloudComputer($cpuPower : cpuPower)
$requiredCpuPowerTotal : Number(intValue > $cpuPower) from accumulate(
CloudProcess(
computer == $computer,
$requiredCpuPower : requiredCpuPower),
sum($requiredCpuPower)
)
then
scoreHolder.addHardConstraintMatch(kcontext, $cpuPower - $requiredCpuPowerTotal.intValue());
end
我会写这样的代码:
T1($t1Value : value, $t1OtherValue : otherValue)
T2(value < $t1Value, otherValue <= $t1OtherValue)