2017-07-19 2 views
1

Ich habe eine Liste von Objekten wie [man1, man2, man3, man4] vom Typ Man.Vergleichen von Objekten in einer Liste innerhalb der Drl-Datei

Ich muss die 4 Objekte wie folgt vergleichen. (man1.name == man2.name, man2.name == man3.name, man3.name == man4.name)

Wie es in einem drl. Ich kann die Objekte nicht so wiederholen, die drl vergleicht jedes Objekt mit allen anderen Objekten.

Antwort

0

Angesichts der Tatsache, dass die Reihenfolge Ihrer Man Objekte ist wichtig, ich vermute, dass sie eine Art von id oder Eigenschaft enthalten müssen, die Sie bestellen können. Wenn das der Fall ist (und ich nehme an, dass der Name dieses Attributs ist id), können Sie etwas in dieser Richtung versuchen:

rule "Some Rule" 
when 
    $m1: Man() 
    not Man(id > $m1.id) 
    forall( 
    Man(name == $m1.name) 
) 
then 
    //Action 
end 

Hoffe, dass es hilft,

+0

Ok Also .. Wenn ich zu haben Machen Sie eine Gruppe nach Namen für alle vier Objekte. Gibt es eine Möglichkeit, das zu tun? –

+0

Gruppiere die Objekte, die den gleichen Namen haben. Ist das möglich ?? –

Verwandte Themen