!!! Skriptsprache Groovy
Groovy ist eine Skriptsprache,
* deren Syntax an Java angelehnt ist und
* die in einer Java VM läuft, d.h. Groovy wird in Java-Bytecode kompiliert.
!! Integration in Eclipse
Ich starte, indem ich mir das passende Plugin in meine EclipseIDE installiere. Dazu trage ich den Link http://dist.codehaus.org/groovy/distributions/update/ als Update Site ein.
Dann lege ich ein neues Java-Projekt an und füge die Groovy-Nature hinzu. Das geht über den entsprechenden Eintrag im Rechte-Maustaste-Menü zum neu angelegten Projekt.
!!Erste Schritte
Zunächst versuche ich einige der Feature von Groovy aufzuprobieren.
!Einbaute Syntax für Listen, Maps etc.
{{{
list = ["Peter", "Paul", "Mary"]
list.each { println it }
}}}
{{{N
map = [id:1, name:"Peter", age:44]
println "Peter's name: " + map["name"]
println map.name + "'s age is " + map.age
println "${map.name}'s age is $map.age"
}}}
!Closures
Closures sind Code-Stücke, die man Variablen zuweisen kann. Closures können als Parameter übergeben werden
und stellen so ein sehr mächtiges Werkzeug dar, um Funktionen sehr universell zu programmieren.
{{{
closure = { text | println "Der Text ist: $text" }
list = ["Peter", "Paul", "Mary"]
list.each { closure(it) }
}}}
!Reguläre Ausdrücke
Die Sprache Groovy verfügt über eine Syntax für reguläre Ausdrücke entsprechend dem __java.regexp__-Package.
Der binäre Operator __==~__ erwartet Links einen String und rechts einen regulären Ausdruck.
{{{
if ("potato" ==~ /potatoe?/) println "Ok!"
if ("potatoe" ==~ /potatoe?/) println "Ok!"
if ("potatoo" ==~ /potatoe?/) println "Ok!"
}}}
!!Weitergehende Funktionen
!SQL
{{{
import groovy.sql.Sql;
sql = Sql.newInstance("jdbc:mysql://localhost:3306/test",
"test", "geheim", "com.mysql.jdbc.Driver");
res = sql.eachRow(
"select * from person where age > 25",
{ println "$it.surname is $it.age years old" }
)
}}}
!!Links
* [http://groovy.codehaus.org/] - Groovy Homepage
* [Artikel über Groovy|http://www.sigs.de/publications/js/2004/05/tilly_JS_05_04.pdf] im ~JavaSPEKTRUM 5/2004