Как определить, существует ли переменная внутри кода Groovy, запущенного в скриптовом движке?

Как определить, существует ли переменная внутри кода Groovy, запущенного в скриптовом движке?

переменная была поставлена метод put ScriptEngine

2 ответов


на заводной.ленг.Скрипт есть метод public Binding getBinding(). См. также заводной.ленг.Связывание методом public boolean hasVariable(String name).

таким образом, вы можете просто проверить существование переменной, как

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

переменные, введенные обработчиком сценариев, хранятся внутри binding.variables, поэтому вы можете, например, проверить переменную с именем xx:

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