Groovy的迭代:方法的无签名:适用于参数类型:(myFunction_closure1_closure3)

问题描述:

我迭代一个组字符串值,并且每个传递给外部函数,如下所示:Groovy的迭代:方法的无签名:适用于参数类型:(myFunction_closure1_closure3)

List<String> myArray = ["a", "b", "c"] 

myArray.each() { 
    myExternalFunction({it}) 
} 

然而,我上面得到关闭错误。这是为什么发生? {it}在闭包内时是否计算为String?为什么它通过封闭本身作为论据?

List<String> myArray = ["a", "b", "c"] 

myArray.each { 
    myExternalFunction(it) 
} 

myExternalFunction节选一个字符串,但使用本实施{it}是被传递给该方法的封闭件。因此抱怨。

你可以找到更多关于Closures in Groovy.