比较drl文件中列表中的对象
Comparing objects in a list inside drl file
我有一个像 [man1,man2,man3,man4] 类型的对象列表。
我需要比较这4个对象如下。
(man1.name == man2.name,man2.name == man3.name,man3.name == man4.name)
如何在 drl 中执行此操作。我不能像这样迭代对象,drl 正在将每个对象与所有其他对象进行比较。
鉴于 Man
对象的顺序很重要,我猜它们一定包含某种 id
或 属性 允许您对它们进行排序。如果是这种情况(并且我假设此属性的名称是 id
),您可以尝试以下几行:
rule "Some Rule"
when
$m1: Man()
not Man(id > $m1.id)
forall(
Man(name == $m1.name)
)
then
//Action
end
希望对您有所帮助,
我有一个像 [man1,man2,man3,man4] 类型的对象列表。
我需要比较这4个对象如下。 (man1.name == man2.name,man2.name == man3.name,man3.name == man4.name)
如何在 drl 中执行此操作。我不能像这样迭代对象,drl 正在将每个对象与所有其他对象进行比较。
鉴于 Man
对象的顺序很重要,我猜它们一定包含某种 id
或 属性 允许您对它们进行排序。如果是这种情况(并且我假设此属性的名称是 id
),您可以尝试以下几行:
rule "Some Rule"
when
$m1: Man()
not Man(id > $m1.id)
forall(
Man(name == $m1.name)
)
then
//Action
end
希望对您有所帮助,