collections – 如何使用groovy集合的collect()方法调用具有多个
发布时间:2020-12-14 16:21:17 所属栏目:大数据 来源:网络整理
导读:假设我有一个闭包: def increment = {value,step - value + step } 现在我想循环遍历整数集合的每个项目,用5增加它,并将新元素保存到新集合: def numbers = [1..10]def biggerNumbers = numbers.collect { it + 5} 现在我希望通过使用增量闭包来实现相同的
假设我有一个闭包:
def increment = {value,step -> value + step } 现在我想循环遍历整数集合的每个项目,用5增加它,并将新元素保存到新集合: def numbers = [1..10] def biggerNumbers = numbers.collect { it + 5 } 现在我希望通过使用增量闭包来实现相同的结果.我怎样才能做到这一点? 应该是这样的(下面的代码错误): def biggerNumbers = numbers.collect increment(it,5) //what's the correct name of 'it'?? 解决方法
你的问题的解决方案是在闭包中嵌套你的增量调用:
def biggerNumbers = numbers.collect {increment(it,5)} 如果你想将一个premade闭包传递给collect,你应该让它与collect兼容 – 接受一个参数: def incrementByFive = {it + 5} def biggerNumbers = numbers.collect incrementByFive (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |