Groovy
Back to current versionRestore this version

Skriptsprache Groovy#

Groovy ist eine Skriptsprache,

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 }
  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" }
  )