no 'or' generates sub rules for each logical out come.
I've checked what Jess does.
Class() || Class() - generates sub rules per logical branch
Class(field != value ||| field == value || field > value ) just embed
the logic inside a single test, so only one rule.
I will consider doing the later in 3.1
Mark
Michael Neale wrote:
no I don't believe so.
On 4/19/06, Paul Smith <[EMAIL PROTECTED]> wrote:
So the '||' operator is not a 'short circuit' type operator as it is in
Java
then?
On 4/19/06, Yuesong Wang <[EMAIL PROTECTED]> wrote:
Forgive my ignorance then :) Thank you.
--- Mark Proctor <[EMAIL PROTECTED]> wrote:
That is how OR is expected to work in Rule Engines.
It fires for each
logical outcome. This is because each outcome ends
up as sub rule.
Mark
Yuesong Wang wrote:
Odd behavior with the or operator.
The rule is:
package com.sample
import com.sample.DroolsTest.Message;
rule "Hello World"
when
m : Message( status == Message.HELLO ) ||
Message(
message == "Hello World" )
then
System.out.println( "fired" );
end
One Message object is asserted. The rule would
fire twice.
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam
protection around
http://mail.yahoo.com
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com