Основной важный вопрос. Чтобы сделать мой код надежным, мне нужно использовать Eval.me (String), который предлагает groovy.Groovy Оценка экспрессии
У меня есть проблема, хотя. Это возникает, когда я пытаюсь выполнить сравнение строк.
def x='yay'
def y='yay'
def groovyString="'$x' == '$y'"
println Eval.me(groovyString);
Отпечатано верно.
Но ниже код просто говорит «яй» не является определение переменной,
def x='yay'
def y='yay'
def groovyString="$x == $y"
println Eval.me(groovyString);
Я знаю, почему приходит эта ошибка :) Есть ли способ, где я могу обойти эту проблему, ж/o действительно нужно добавить ' '
для сравнения строк?
P.S: Мне нужно, чтобы оно работало правильно, а не только строки. Поэтому постижение добавлять «»
Он работает как шарм :) – Avinash
Очевидно, что если вам нужно передать Params, то вы можете изменить '[:]. withDefault {это}' к что-то вроде '[a: 13] .withDefault {it}'. Тогда 'groovyString = 'a == 13'' будет работать, например ... Удачи! –