JEXL3 - euler功能

时间:2017-12-23 13:47:37

标签: java kotlin jexl

是否可以用e(作为euler函数)解析函数?如:

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)

1 个答案:

答案 0 :(得分:0)

不确定您的问题是什么。 JEXL在脚本创建时不检查变量是否存在;使用JEXL3,您可以通过调用' getVariables()'来确定脚本中使用的变量(JexlScript)。方法。 更具体地说,如果' e'是一个应该始终可以在您的用例中访问的变量,我建议系统地将其添加到您的上下文(或覆盖上下文)。