Groovy:迭代和倍增

时间:2013-11-12 05:35:13

标签: list groovy

我想将列表中的每个项目相乘。但是这个例子只返回每个项目:

list = 1..10
println list.each{it*2}

2 个答案:

答案 0 :(得分:3)

使用collect()。

list = 1..10
println list.collect{it*2}

给出

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

答案 1 :(得分:0)

只有Groovy的语法被标准化,而不是默认方法,所以Groovy的不同实现对于要使用的特定方法有不同的名称。

在Codehaus Groovy(版本2.1.9 at groovy.codehaus.org)中使用collect ...

list = 1..10
println list.collect{it*2}

在Real Groovy(v 0.10.0 at realgroovy.codeplex.com)中使用更标准的map ...

test{
  is [1,2,3,].map{it*7} == [7,14,21]
}

我不确定GrooScript(www.grooscript.org)是如何做到的。