2017-04-24 1 views
0

배열 또는 값 배열이있는 배열이 있습니다. 은 이런 형태의 규칙을 작성하고자 :Drools 규칙을 작성하여 배열 또는 목록의 여러 값을 확인합니다.

rule "listRule" 

when 
$first: from list1() and $first!= "a" and $first!="b" 
$second: from list1() and $second!="c" and $second != "z" 
then 
System.out.println(" this works!") 

end 

목적은리스트 또는 배열이 2 개 이상의 객체가있는 경우 (제 1 $를 $ 초 등)을 각각 만족하는 것으로 평가할 수있을 것이다 그들의 다른 상태. 배열 또는 목록이 될 수 있습니다.

답변

1

String[] 또는 List<String> 개체를 여러 개 삽입하면 이러한 개체를 식별 할 수 없으므로 거의 확실한 생각이 아닙니다. 하지만 방법은 다음과 같습니다.

rule "listRule" 
when 
    $list: ArrayList() 
    $s1: String(toString != "a" && != "b") from $list 
    $s2: String(this != $s1, toString !="c" && != "z") from $list 
then 
    System.out.println("Strings: " + $s1 + " - " + $s2); 
end 
+0

나를 위해 일했습니다. 답변 해주셔서 감사합니다. 그 안에 또는 안으로 들어갈 수 있을까요? $ list 또는 $ s2 : String (this! = $ s1, toString! = "c"&&! = "z")의 $ s1 : String (toString! = "a"&&! = "b" 목록 –

+0

예. 두 패턴을 괄호로 둘러 쌉니다. --- 그러나 같은 효과가 더 간단한 방법으로 성취 될 수 있기 때문에 의미가 없습니다. – laune

관련 문제