【发布时间】:2017-07-16 20:14:11
【问题描述】:
如何确定在脚本引擎中运行的 Groovy 代码中是否存在变量?
【问题讨论】:
标签: java jenkins groovy scripting java-scripting-engine
如何确定在脚本引擎中运行的 Groovy 代码中是否存在变量?
【问题讨论】:
标签: java jenkins groovy scripting java-scripting-engine
脚本引擎注入的变量保存在
binding.variables,所以你可以例如检查名为xx的变量:
if (binding.variables["xx"]) ...
【讨论】:
在groovy.lang.Script 中有一个方法public Binding getBinding()。另请参阅 groovy.lang.Binding 和方法 public boolean hasVariable(String name)。
因此您可以简单地检查变量是否存在
if (binding.hasVariable('superVariable')) {
// your code here
}
【讨论】:
// Example usage: defaultIfInexistent({myVar}, "default")
def defaultIfInexistent(varNameExpr, defaultValue) {
try {
varNameExpr()
} catch (exc) {
defaultValue
}
}
【讨论】:
您可以使用'contains' List 方法检查变量是否存在:
if (list.contains(var)) {
// your code
}
【讨论】: