Use Curry com Groovy

O método curry é um ótimo recurso de linguagem para groovy que permite remover a duplicação em seu código. Veja o código abaixo sobre como usar este método. Aprendi isso no livro Programming Groovy.

def tellFortunes(closure)
{
Date date = new Date("11/15/2007")

// closure date, "Your day is filled with ceremony"
// closure date, "They're features, not bugs"
// You can curry to avoid sending date repeatedly

// call curry on the closure passing in the date object
postFortune
= closure.curry(date)

// call postFortune twice passing in a different string twice
postFortune
"Your day is filled with ceremony"
postFortune
"They're features, not bugs"
}

tellFortunes
() { date, fortune ->
println
"Fortune for ${date} is '${fortune}'"
}