【发布时间】:2013-11-26 15:31:14
【问题描述】:
我尝试在 Groovy 中调用动态闭包,但现在卡住了。我有名字,但是不知道怎么用call()方法引用它
这是我想要实现的一个小例子:
def fooClos = { println foo }
def barClos = { println bar}
def c = new Random().nextInt() % 2 == 0 ? "foo" : "bar"
"${c}Clos".call()
所以最后一行应该打印foo 或bar
我也试过
this."${c}Clos".call()
和
this.&"${c}Clos".call()
没有成功。
那么有人可以帮我看看正确的参考是怎样的吗?我可能可以解决我的问题,但我仍然想知道它是如何完成的。
【问题讨论】:
标签: groovy