如何确定脚本引擎中 Groovy 代码 运行 中是否存在变量?
How can I determine if a variable exists from within the Groovy code running in the Scripting Engine?
如何确定脚本引擎中 Groovy 代码 运行 中是否存在变量?
放置
脚本引擎注入的变量保存在
binding.variables
,所以你可以,例如检查名为 xx
:
的变量
if (binding.variables["xx"]) ...
在groovy.lang.Script there is a method public Binding getBinding()
. See also 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'列表方法检查变量是否存在:
if (list.contains(var)) {
// your code
}
如何确定脚本引擎中 Groovy 代码 运行 中是否存在变量?
放置脚本引擎注入的变量保存在
binding.variables
,所以你可以,例如检查名为 xx
:
if (binding.variables["xx"]) ...
在groovy.lang.Script there is a method public Binding getBinding()
. See also 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'列表方法检查变量是否存在:
if (list.contains(var)) {
// your code
}