JEXL3 – функция Эйлера

Возможно ли разобрать функции с e (как функция эйлера)? Такие как:

 x*e 

Я получаю undefined variable e следующим образом:

 var jexl = JexlBuilder().create() var jexlEpxression = jexl.createExpression("x*e") //still works var jexlContext = MapContext() jexlContext.set("x",1.0) jexlExpression.evaluate(jexlContext) // undefined variable e 

Конечно, это может быть исправлено вручную:

 val containsE = "x*e".contains("e") if(containsE) jexlContext.set("e",Math.E) 

    Не знаете, каков ваш вопрос. JEXL не проверяет существование переменной во время создания скрипта; с JEXL3, вы можете определить, какие переменные используются в скрипте (JexlScript), вызывая метод getVariables (). Более конкретно, если «e» – это переменная, которая всегда должна быть доступна в вашем случае использования, я бы предложил систематически добавлять ее в ваш контекст (или переопределять контекст).