0

是否可以解析带有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)
4

1 回答 1

0

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

于 2017-12-26T11:43:33.903 回答