Groovy 对 Object进行了统一的增强,本例子具体关注一下。
def a = 1..10
println "any"
a.any { println it ; it >5 }
println "every"
a.every { println it ; it >5 }
println "each"
a.each { println it}
println "eachWithIndex"
a.eachWithIndex { v,index -> println v + " , " + index }
println "find"
a.find { println it ; it >5 }
println "inject"
//特别适合求和等累积运算
println a.inject ( 0 ,{ value, item -> println value + " , " + item ; value + item})
println "collect"
//处理后添加到集合后面
println ( ["E","F"].collect (["B","C","D"], { println it ; it +"a" }) )
println (["E","F"].collect { println it ; it +"a" } )
println "invokeMethod"
println a.invokeMethod("size",null)
println "is" // ==
println "A".is ("A" )
println "dump"
println "A".dump()
println "identity"
[1,2,3].identity {
println it
println size ()
}
println "with"
[1,2,3].with{
println it
println size()
}
println "use"
class B {
static def msg (String msg) { println msg }
static def length (v){ v.size()}
}
use(B){
"hello".msg()
println a.length()
}