2013-06-26 1 views
1

Drools 규칙을 구현하기 위해 .drl 파일을 쓰고 있습니다. 비즈니스 요구 사항에 따라 단일 규칙에 대해 3 가지 조건을 확인해야합니다. 그래서 내 질문은 복수의 동일한 규칙에 when 가질 수 있습니다.Drools의 단일 규칙에서 조건을 여러 개 사용할 수 있습니까?

몇 시간 동안 검색했지만 유용한 정보를 얻지 못했습니다. 제발 나를 누군가가 when 하나의 규칙에 drools 작성하는 방법을 안내 할 수 있습니다.

이렇게 할 수 있습니까?

rule "Test rule 1" 
    when 
     condition1 
    then 
     <execute code> 
    when 
     condition2 
    then 
     <execute code> 
end 

답변

1

아니요, 80 % 확신 할 수 없습니다. 당신은 열린 .drl을 가지고 나를 붙 잡았고, 시도를했는데, '일치하지 않는 입력'이라고 말했지만, 두번째 후에는 즉시 토큰에서 실패합니다. then. 따라서 80 % (어떤 숫자를 말함). 유쾌히 컴파일러는 두 번째로 모두 when을 통과했습니다.

시도해보십시오.

+0

정확한 "일치 입력":(그래서 난 4 조건을 사용하려는 경우 의 I는'시 - 다음 - 때 - then'에 대해 생각한다면 나는 4 개의 새로운 규칙 맞죠? –

+0

을해야 당신이하는 것처럼 적어도 두 가지 일을 할 수있을 것 같네요 : 두 개의 규칙과 돌출부의 차이, 또는''then '안에있는''if''then '' 구조체. – uprego

0

아니요, 불가능합니다. 기본적으로 두 개의 규칙을 구현해야하며 각각 하나는 when 블록 중 하나입니다. 결과는 정확히 원하는 결과 여야합니다.

0

위의 경우 (여러 경우 ...)는 작동하지 않습니다. 또한 규칙을 중첩 할 수 없습니다. 내가 그것을 말한다 여러 시도

+0

이것은 대답이 아닙니다. 이것은 주석이어야합니다. . –

관련 문제