如何从脚本引擎中运行的Groovy代码中确定变量是否存在?
该变量由ScriptEngine的PUT方法放置
cxfofazt1#
在groovy.lang.Script中有一个方法public Binding getBinding()。而groovy.lang.Binding具有方法public boolean hasVariable(String name)。
public Binding getBinding()
public boolean hasVariable(String name)
因此,您可以简单地检查变量是否存在,如下所示:
if (binding.hasVariable('superVariable')) { // your code here }
kzipqqlq2#
// Example usage: defaultIfInexistent({myVar}, "default") def defaultIfInexistent(varNameExpr, defaultValue) { try { varNameExpr() } catch (exc) { defaultValue } }
7vux5j2d3#
脚本引擎注入的变量保存在binding.variables中,因此您可以例如检查名为xx的变量:
binding.variables
xx
if (binding.variables["xx"]) ...
u5rb5r594#
您可以使用‘CONTAINS’LIST方法检查变量是否存在:
if (list.contains(var)) { // your code }
4条答案
按热度按时间cxfofazt1#
在groovy.lang.Script中有一个方法
public Binding getBinding()
。而groovy.lang.Binding具有方法public boolean hasVariable(String name)
。因此,您可以简单地检查变量是否存在,如下所示:
kzipqqlq2#
7vux5j2d3#
脚本引擎注入的变量保存在
binding.variables
中,因此您可以例如检查名为xx
的变量:u5rb5r594#
您可以使用‘CONTAINS’LIST方法检查变量是否存在: