Groovy

Besoin

Langage de script/dynamique pour la plate-forme Java.

Analyse

Le langage Groovy est inspiré de Java, Python et Ruby.

Conception

Java peut être déployé sur différentes architectures :

Plates-formes Groovy
Version 1 2 Commentaire
Contrôle statique du typage Non Oui Signalement d'erreurs dès la compilation
Compilation statique Non Oui Pour performance
Librairies modulaires et extensibles Non Oui JARs multiples
Support de invokedynamic Non Oui

Déploiement

Le(s) JAR de Groovy peuvent être déployés sur toute plate-forme Java 1.5+.

Exemples

Affichage de "Hello World" :

<strong> def</strong> name=<span class="codeString">'World'</span>; <br>    <strong>println</strong> <span class="codeString">"Hello $name!"</span>

Une classe avec méthode :

<strong>class</strong> Greet {<br>      <strong>def</strong> name <br>      Greet(who) { <br>         name = who[0].toUpperCase() + who[1..-1] <br>      } <br>      <strong>def</strong> salute() { <br>         <strong>println</strong> <span class="codeString">"Hello $name!"</span> <br>      } <br>   } <br> <br>   g = <strong>new</strong> Greet(<span class="codeString">'world'</span>) <span class="codeComment"> // create object</span><br>   g.salute() <span class="codeComment">             // output "Hello World!"</span>

Utilisation de bibliothèques Java existantes :

<strong>import static</strong> org.apache.commons.lang.WordUtils.* <br> <br> <strong>   class</strong> Greeter <strong>extends</strong> Greet { <br>      Greeter(who) { <br>         name = capitalize(who) <br>      } <br>   } <br> <br>   <strong>new</strong> Greeter(<span class="codeString">'world'</span>).salute()

"Hello World" en ligne de commande :

<strong>groovy -e</strong> <span class="codeString">"<strong>println</strong> 'Hello ' + <strong>args</strong>[0]"</span> World

Notes