This page (revision-28) was last changed on 01-Jul-2020 15:11 by Peter Hormanns 

This page was created on 21-Nov-2006 11:24 by PeterHormanns

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
28 01-Jul-2020 15:11 3 KB Peter Hormanns to previous alle toten Links gelöscht
27 01-Jul-2020 13:40 3 KB Peter Hormanns to previous | to last codehaus gibts nicht mehr
26 07-Nov-2009 10:56 3 KB ThomasBayen to previous | to last Groovy-Tag eingeführt
25 07-Nov-2009 10:55 3 KB ThomasBayen to previous | to last Groovy-Tag eingeführt
24 16-Jul-2009 08:25 3 KB MarkusMonderkamp to previous | to last Groovy-Webstart
23 06-Jan-2009 13:42 3 KB Peter Hormanns to previous | to last Groovy und GRails-Wiki
22 02-Mar-2008 21:29 3 KB PeterHormanns to previous | to last Tagging
21 10-Jan-2007 09:31 3 KB MarkusMonderkamp to previous | to last Groovy 1.0

Page References

Incoming links Outgoing links

Version management

Difference between version and

!!! 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>> << list >>= ["Peter", "Paul", "Mary"]
<< list.each>> << list.each >>{ println it }
}}}
<<{{{N{{{>>
<< map>> << map >>= [id:1, name:"Peter", age:44]
<< println>> << println >>"Peter's name: " + map["name"]
<< println>> << println >>map.name + "'s age is " + map.age
<< println>> << 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>> << closure >>= { text | println "Der Text ist: $text" }
<< list>> << list >>= ["Peter", "Paul", "Mary"]
 <<list.each>> << 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