【问题标题】:Groovy Iterators: No signature of method: is applicable for argument types: (myFunction_closure1_closure3)Groovy 迭代器:没有方法签名:适用于参数类型:(myFunction_closure1_closure3)
【发布时间】:2015-09-28 15:52:38
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: groovy iterator closures


    【解决方案1】:
    List<String> myArray = ["a", "b", "c"]
    
    myArray.each {
      myExternalFunction(it)
    }
    

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

    您可以找到更多关于Closures in Groovy.的信息

    【讨论】:

      猜你喜欢
      • 2018-12-19
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多