You're right, if you want to do this with 2 facts, you'll need to do :
$test : Test( $y : y )
Test(
this == $test,
x == ($y + 1) )
Chris
2008/5/2 Raffi Khatchadourian <khatchad(a)cse.ohio-state.edu>:
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?
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users