我是 Groovy 的新手,我正在尝试为某些特定任务编写一个迷你 DSL。为此,我一直在尝试解决如下问题:我想通过调用此代码(不使用括号)打印(和/或返回)5:
give me 5
我希望下面这样的定义会起作用:
def give = {clos -> return clos}
def me = {clos -> println clos; return clos}
但实际上并没有。您能否帮助我如何定义“give”和“me”以便使用表达式“give me 5”返回值 5,其中me必须是一个闭包,give也可以是元类、属性等。
提前致谢!Ⅳ