//Расширим класс и добавим метод, который извлекает подстроку длиной min (length, параметр)
String.metaClass.firstChars = {substring 0, [it, size()].min()}
assert "Hello".firstChars (3) == "Hel"
assert "Hello".firstChars (30) == "Hello"
//Небольшой DSL
def b = Boy.createWith (name: 'Jim', age: 15)
def g = Girl.
assert b + g == Love.immortal
//Я уже не говорю про классический
5.days.from.now + 10.hours
//GPath. Распечатать список из первых пяти букв всех методов класса String
println String.class.methods.name*.firstChars (5)
//Естественно closures. Что важна, этот код не только печатает все строки в файле,
//но и заботится о корректном закрытии (даже в случае исключения)
new File ('one.txt').eachLine {println it}
Главное, File, String - это Java классы, т.е. я могу использовать их в Java коде