Joe,
Thanks, I added this information to the ticket too. Mike is already
taking care of the problem.
In case you want to follow the progress:
http://jira.codehaus.org/browse/MVEL-83
[]s
Edson
2008/4/9 Joe White <Joe.White(a)recondotech.com>:
Another bug that I just came across while working on getting my
parens
to work involved not handling scoped numbers properly. Similar to the
previous one, but different in that it ends the expression evaluation
prematurely. See the drl and result below:
*package* test;
*dialect* "mvel"
*rule* "test 12"
*when*
*then*
*double* rightVal=(10 + 12);
*double* wrongVal=(10) + (12);
*double* wrongValTwo = ((10)+12)
System.out.println("Right "+rightVal);
System.out.println("Wrong "+wrongVal);
System.out.println("WrongTwo "+wrongValTwo);
*End*
* *
*Results in:*
Right 22.0
Wrong 10.0
WrongTwo 10.0
Thanks,
Joe
*From:* rules-users-bounces(a)lists.jboss.org [mailto:
rules-users-bounces(a)lists.jboss.org] *On Behalf Of *Edson Tirelli
*Sent:* Wednesday, April 09, 2008 12:39 PM
*To:* Rules Users List
*Subject:* Re: [rules-users] Order of operations
Hi Joe,
It seems someone skipped the elementary math lessons at school... :(
Will open a JIRA for that.
[]s
Edson
2008/4/9 Joe White <Joe.White(a)recondotech.com>:
I have a question regarding order of operations in the consequence of a
rule when using the mvel dialect. When executed the Drl below provides Right
=30.0 and Wrong =140.0. The only difference is the parens around the
multiplying expressions, which shouldn't be necessary given order of
operations. Is this a problem with the drools/mvel interaction or is it
completely an issue with mvel?
Is the general expectation that all expressions must be completely scoped
by parens when using mvel?
*package* test;
*dialect* "mvel"
*rule* "test 11"
*when*
*then*
*double* rightVal=((10-5)*2) + (5*(8-4));
*double* wrongVal=(10-5)*2 + 5*(8-4);
System.out.println("Right ="+rightVal);
System.out.println("Wrong ="+wrongVal);
*End*
* *
*After execution:*
Right =30.0
Wrong =140.0
Thank you for all of your help. We are using drools 4.0.4.
Joe
Also, I haven't figured out how it arrives at 140. The following format
also produces 140, which seems a little more strange.
*double* wrongVal=10-5*2 + 5*8-4;
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @
www.jboss.com
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @
www.jboss.com