Dear all,
I am trying to evaluate the following expression via jexl : x^y
What I've tried, is to extend JexlArithmetic:
// Extend Arithmetic
public class ExtendedJexlArithmetic extends JexlArithmetic
{
public ExtendedJexlArithmetic(boolean strict){
super(strict);
}
public xor(Object l, Object r){
return Math.pow(l, r);
}
}
def engine = new
JexlBuilder().cache(512).strict(true).silent(false).namespaces(ns).arithmetic(new
ExtendedJexlArithmetic(true)).create();
engine.createExpression(model_formula).evaluate(contextMap);
However, it does not consider operator priority. As a result, I am still
getting wrong results:
2+4^3 -> 216 (instead of 66).
How can I properly fix this ?
Thhhx!