Groovy迭代器:没有方法签名:适用于参数类型:(myFunction_closure1_closure3)

时间:2015-07-10 02:40:10

标签: groovy iterator closures

我正在迭代一组字符串值,并将每个字符串值传递给外部函数,如下所示:

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

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

但是,我收到上面的关闭错误。为什么会这样? {it}在封闭内部时是否会评估为String?为什么它将闭包本身作为参数传递?

1 个答案:

答案 0 :(得分:1)

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

myArray.each {
  myExternalFunction(it)
}

myExternalFunction除了一个String,但是当前的实现{it}是一个传递给该方法的闭包。因此抱怨。

您可以找到有关Closures in Groovy.

的更多信息