我想将列表中的每个项目相乘。但是这个例子只返回每一项:
list = 1..10
println list.each{it*2}
使用收集()。
IE
list = 1..10
println list.collect{it*2}
给
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
只有 Groovy 的语法被标准化,而不是默认方法,因此 Groovy 的不同实现对于具体使用的方法有不同的名称。
在 Codehaus Groovy(groovy.codehaus.org 上的 v 2.1.9)中,使用collect
...
list = 1..10
println list.collect{it*2}
在 Real Groovy(realgroovy.codeplex.com 上的 v 0.10.0)中,使用更标准的命名map
...
test{
is [1,2,3,].map{it*7} == [7,14,21]
}
我不确定 GrooScript(位于 www.grooscript.org)是如何做到的。