In most programming languages the result of (e.g.) an integer comparison
   20 <= price
is a value of a different type, i.e., boolean, with values "true" or
"false". (You have heard this at some time, right?) Consequently, the
comparison of a boolean with an integer
   true < 30
depends on whether the language tolerates it, and if so,
how that result is defined.

IT IS A BUG THAT DROOLS TOLERATES (BUT DOES NOT DEFINE)
SUCH "MULTIPLE" COMPARISONS BUT DOES NOT FLAG THEM AS AN ERROR
OR IMPLEMENT THEM IN SOME WAY. (Tested with 5.3.0 Final.)

This means that you'll have to rwrite your constraints using && or ||,
as appropriate.

-W




On 05/02/2012, shanmuga <[email protected]> wrote:
> Hi,
>    I want to know, how to write rules in two fact's fields?
>
> I used two facts, it will take AND condition or OR condition in between the
> two facts.
>
> Please check my code....
>
> package Project
> import com.sample.Person;
> import com.sample.Price;
>       
>       rule "rule_Name"
>           when
>               per:*Person*(50 <= age < 100, 10000 <= income < 50000, 
> occupation
> == "Business", category == "Military", location == "Bangalore", custype ==
> "Individual")
>               pri:*Price*((20 <= price < 30) || price == 1)
>           then
>               System.out.println("Success");
>       end
>
>
> The both fact values are satisfy means, what is the output?
>
> I got output, even the *Price* fact's value is wrong. (price == 100)
>
> Please slove my problem........!!!!
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/How-to-write-rules-in-two-fact-s-fields-tp3717063p3717063.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to