使用 Drools 3.0.6(旧的,我知道),在已知、固定且相当大的数组或集合中查找事实的有效评估是什么(包含的倒数,即“包含在”中)。使用 OR 系列的正常“等于”会导致 StackOverflowError,因为数组/集合可以包含几千个条目,因为 Drools 二元运算符评估是递归的。
我们有一个单一的值事实和一个要匹配的值数组。当前的“代码”如下所示:
$f: Fact(name="TheFact", $data)
eval(!($data.equals("1") || $data.equals("2") || $data.equals("3") ... ))
对于大量固定值(1,2,3,...)。我正在寻找更像“$data in (1,2,3, ...)”的东西。