如何将Closure中的值返回到方法中

时间:2014-01-30 03:22:18

标签: groovy

我显然做错了但是callPrint()不能使用闭包的返回值吗?如何才能正确地将Closure的返回值传递给方法?

void callPrint(def num){
    println "${num}";
}

callPrint{return 5}; //does not print

感谢。

此致 约翰

1 个答案:

答案 0 :(得分:2)

您必须将closure传递给callPrint方法并实际在其中调用它:

void callPrint(closure){
    println closure.call()
}

callPrint{return 5}

def hello = { return 'Hello' }

callPrint(hello)

打印:

5
Hello
相关问题