スクリプトエンジンで実行されているGroovyコード内から変数が存在するかどうかを確認するにはどうすればよいですか?
変数は ScriptEngineのputメソッド によって配置されました
groovy.lang.Script には、メソッドpublic Binding getBinding()
があります。メソッドpublic boolean hasVariable(String name)
の groovy.lang.Binding も参照してください。
したがって、次のように変数の存在を簡単に確認できます。
if (binding.hasVariable('superVariable')) {
// your code here
}
スクリプトエンジンによって挿入された変数は、binding.variables
ので、次のことができます。 xx
という名前の変数を確認します。
if (binding.variables["xx"]) ...
// Example usage: defaultIfInexistent({myVar}, "default")
def defaultIfInexistent(varNameExpr, defaultValue) {
try {
varNameExpr()
} catch (exc) {
defaultValue
}
}