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

Chris Woodrow woodrow.chris at gmail.com
Fri May 2 16:33:32 EDT 2008


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 at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080502/c113c696/attachment.html 


More information about the rules-users mailing list