2017-12-23 14 views
0

e (오일러 함수로) 함수를 파싱 할 수 있습니까? 나는이 함께 undefined variable e을 얻을JEXL3 - 오일러 함수

x*e 

: 같은

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

답변

0

없음 귀하의 질문에 확실히 무엇 : 물론

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 

이 매뉴얼 수정이있을 수 있습니다. JEXL은 스크립트 생성시 변수 존재를 확인하지 않습니다. JEXL3을 사용하면 'getVariables()'메소드를 호출하여 스크립트 (JexlScript)에서 사용되는 변수를 확인할 수 있습니다. 특히 'e'가 사용 사례에서 항상 액세스 할 수 있어야하는 변수 인 경우 체계적으로 컨텍스트에 추가하거나 컨텍스트를 재정의 할 것을 제안합니다.