Я пытаюсь создать замыкание из строки. Код внутри замыкания ссылается на функцию сборки DSL(). Ошибки, которые я получаю, подразумевают, что Groovy пытается выполнить закрытие, а не просто объявлять его. Каков правильный синтаксис для этого? Вот некоторые из конструкций, которые я уже пробовал.Необходимость помощи синтаксиса 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
Пример, который я пытаюсь следовать приходит от: Load closure code from string in Groovy
Является ли groovy оболочкой потокобезопасным? Могу ли я создать только одно и повторное использование в граале? – raffian