[rules-users] newbie question on "when" condition syntax

Raffi Khatchadourian khatchad at cse.ohio-state.edu
Fri May 2 09:02:47 EDT 2008


On Fri  2.May'08 at 10:05:20 +0100, Anstis, Michael (M.) wrote:
>The "when" section matches fact (object) patterns, so your requirement
>could be written as:-
> 
>when there is a Test Fact 'A' and another Test Fact 'B' where "the 'x'
>property of 'A'" equals "the 'y' property of fact 'B' plus 1" then.....
> 
>This would become:-
> 
>rule "Rule 1"
>when
>    Test( $y : y )
>    Test( x == ($y + 1) )

Actually, please correct me if I am mistaken, but is this condition
correct? I believe that the original question is that for a single
instance of class Test t, fire the rule when t.x == t.y + 1 (where 't'
refers to the *same* instance of class Test). I believe the rule above
would match any instance of class Test whose x value is equal to the
value of the instance field y from *any* instance of class Test plus 1.
Does that make sense?



More information about the rules-users mailing list