Я пытаюсь создать замыкание из строки. Код внутри замыкания ссылается на функцию build () DSL. Ошибки, которые я получаю, подразумевают, что Groovy пытается выполнить закрытие вместо того, чтобы просто объявить его. Каков правильный синтаксис для этого? Вот некоторые из конструкций, которые я уже пробовал.
sh = new GroovyShell()
cl = sh.evaluate( '{ build("my job") }' }
=> Ambiguous expression could be either a parameterless closure expression or an isolated open code block;
sh = new GroovyShell()
cl = sh.evaluate( 'L: { build("my job") }' }
=> No signature of method: Script1.build() is applicable ...
cl = Eval.me( 'L: { build("my job") }' }
=> No signature of method: Script1.build() is applicable ...
cl = Eval.me( 'L: { com.flow.FlowDelegate.build("my job") }' }
=> No such property: com for class: Script1
Пример, которому я пытаюсь следовать, взят из: Загрузить код закрытия из строки в Groovy