def l = [8,9,2,3,4,-1,5]
//max
println l.inject(l[0]) { last, next ->
last > next ? last : next
}
//isEven
println l.inject([]) { l, n ->
if (n % 2) l << n * 2
else l
}
println l.collect{ if (it % 2) {it * 2} }.findAll{it}
println l.findAll{ it % 2 }.collect{ it * 2 }
def filtered = { list, f ->
list.inject([]) { l, n ->
if (f(n)) l << n
else l
}
}
println filtered(l, {true})
println filtered(l, { it % 2 })
class Mail {
def to(String b) { println "To:$b" }
def body(String b) { println "Body:\n$b" }
def attachment(Object f) { println "Attachment:$f" }
static send(doIt) {
def mail = new Mail()
mail.with doIt
//mail.smtp()
}
}
Mail.send {
to 'Steven.Olsen'
body 'Dear So And So,\n...\nSincerely!'
attachment 'file/path/here.txt'
}
http://groovyconsole.appspot.com/script/449004
No comments:
Post a Comment