[英]Groovy Calll Function Dynamically
我想将每个 object 的 function 名称存储在 hash Z1D78DC8ED51214C17A94F14Z 中,并且可以基于它的名称调用它
例如在 python 我能够执行下一个:
def function_1(a1, a2, a3):
return a1+a2+a3
def function_2(a1, a2, a3):
return a3-a2-a1
def function_3(a1, a2, a3):
return a1*a2*a3
for func in ['function_1', 'function_2', 'function_3']:
result = globals()[func](arg1, arg2, arg3)
print (result)
在 groovy 中是否可能发生这样的事情(类似于在 python 中使用全局变量)? 我希望能够将函数名称作为字符串存储在某处......
不,我不想在这里使用课程
你可以声明方法
def function_1(a1, a2, a3) {
a1+a2+a3
}
...
或关闭
def function_1 = {a1, a2, a3 ->
a1+a2+a3
}
...
然后做
['function_1', 'function_2', 'function_3'].each { func ->
def result = "$func"(arg1, arg2, arg3)
println result
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.