Я новичок в Groovy и пытаюсь написать мини-DSL для какой-то конкретной задачи. Для этой цели я пытался решить проблему, подобную этой ниже :Я хочу напечатать (и/или вернуть )5, вызвав этот код (без использования круглых скобок):
give me 5
Я ожидал, что определение, подобное приведенному ниже, сработает:
def give = {clos -> return clos}
def me = {clos -> println clos; return clos}
но на самом деле это не так. Не могли бы вы помочь мне, как определить «дай» и «я», чтобы вернуть значение 5 с выражением «дай мне 5», где мне должно быть замыкание, дать также может быть метаклассом, свойством и т. д.
Заранее спасибо! IV