我有一个 Integer,我想将它与一些原始 int 进行比较,如下所示:
$day : Day()
$itemsList : from collect(Item())
$number : Integer() from $day.getNumberOfItemsAvailable($itemsList)
$number > 4
但是我得到
Message [id=1, kieBase=defaultKieBase, level=ERROR, path=ScoreRules.drl, line=42, column=0
text=[ERR 102] Line 42:21 mismatched input '<' in rule "rule"]
如何将 Integer 与其他 int 值进行比较?您能给我指出一些解释此类基础知识的文档吗?
最佳答案
虽然您可以按照上一个答案中的建议使用 eval 语句,但不建议使用此类构造,因为它们无法优化。
或者,您可以检查分配 $number
变量的同一行,如下所示:
$number : Integer( this > 4 ) from $day.getNumberOfItemsAvailable($itemsList)
仅当 getNumberOfItems...
调用返回大于 4 的整数时,才会分配数字。如果返回值较小,则不满足条件,并且不会评估规则。
关于流口水如何比较整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59432206/