比方说,我有一个封闭:如何使用groovy集合的collect()方法调用多个参数的闭包?
def increment = {value, step ->
value + step
}
现在我想遍历我整数集合的每一个项目,用5增加它,并保存新的元素,新的集合:
def numbers = [1..10]
def biggerNumbers = numbers.collect {
it + 5
}
现在我想达到相同的结果,但通过使用increment
关闭。我怎样才能做到这一点?
应该是这样的(如下错误代码):
def biggerNumbers = numbers.collect increment(it, 5) //what's the correct name of 'it'??
感谢,这是非常有趣的。 – Roman
有趣的建议,但是当'numbers.collect incrementByFive'已经足够时,通过实例化一个冗余闭包,你在'numbers.collect {incrementByFive it}'中犯了一个小错误。像这样的事情会导致开销,尽管Groovy并不关心性能。 –
@mojojojo良好的感谢感谢:-)修正了代码,因为没有为未来的人提供次优例子:-) –