我如何确定从脚本引擎运行Groovy代码中存在的变量?

问题描述 投票:13回答:2

我如何确定从脚本引擎运行Groovy代码中存在的变量?

变量放入由ScriptEngine's put method

java jenkins groovy scripting java-scripting-engine
2个回答
22
投票

groovy.lang.Script有一种方法public Binding getBinding()。另请参阅法groovy.lang.Binding public boolean hasVariable(String name)

因此,你可以简单的检查变量是否存在像

if (binding.hasVariable('superVariable')) {
// your code here
}

3
投票

脚本引擎注入的变量保持binding.variables内,这样你就可以如检查变量命名xx

if (binding.variables["xx"]) ...

1
投票
// Example usage: defaultIfInexistent({myVar}, "default")
def defaultIfInexistent(varNameExpr, defaultValue) {
    try {
        varNameExpr()
    } catch (exc) {
        defaultValue
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.