Categories: JavaLogiciel

[GROOVY] Comment écrire des boucles foreach?

La version pro de SoapUI (c’est à dire SoapUi Ng Pro Ready!API) permet de générer de multiple test à la volée à condition de savoir coder en Groovy.
GROOVY c’est un langage objet orienté objet assez proche de python.
Il est destiné aux plateformes Java. Il n’est donc bien sûr pas limité à SoapUI.

Je vous propose dans cet article de faire un tour rapide sur l’implémentation de boucle for each en Groovy pour les listes ou les tableaux.

Logo de Groovy

1er cas, une simple boucle for.

On crée un tableau et on va afficher chacune des valeurs de ce tableau.

//Création du tableau
def tableauSimple= [ "a", "b" ] ;
//On boucle sur chaque valeur du tableau.
for (maValeur in tableauSimple){
 //Affichage de la valeur du tableau
 log.info(maValeur);
}
//  a 1 
//  a 2 

2eme cas: une boucle imbriquée dans une autre boucle.

On crée deux tableaux et on va afficher chacune des valeurs de ces tableaux.
La deuxième boucle étant imbriquée dans la première boucle cela nous donnera toutes les couples (ou tuples) possibles entre le tableau A et le tableau B.

def paramA = [ "a", "b" ] ;
def paramB = [ "1", "2" ] ;

for (myParamA in paramA){
 for (myParamB in paramB){
  log.info(myParamA + " " + myParamB);
 }
}
//  a 1 
//  a 2 
//  b 1 
//  b 2

3ème cas : La méthode each des listes.

Pour cet exemple, je vous propose de faire un peu d’objet et d’utiliser la méthode each des listes.
Ce programme, va afficher chaque élément de la liste.

def stringList = ["java", "perl", "python", "ruby", "c#", "cobol",
                   "groovy"] as String[];

stringList.each() {langage->log.info(langage); };
// java 
// perl 
// python 
// ruby 
// c# 
// cobol 
// groovy 

4ème cas : En utilisant la variable it.

La variable it est le nom de la variable par défaut d’itération.
Si vous ne précisez pas de variable dans l’itération comme l’exemple ci-dessus alors il vous faudra utiliser ‘it’.

def stringList = [ "java", "perl", "python", "ruby", "c#", "cobol",
                   "groovy"];

stringList.each() {log.info(it); };
// java 
// perl 
// python 
// ruby 
// c# 
// cobol 
// groovy 

5ème cas : Utilisation d’un String comme tableau.

Attention à la façon dont vous déclarez votre tableau.
Si au lieu de déclarer une liste ou une variable vous déclarez un String, groovy va interpréter cela comme un tableau de caractère.
Il itérera donc sur chaque caractère de la chaine de caractères.

String monstring = "JAVA";
monstring.each() {log.info(it); };
// J
// A
// V
// A


Vous pourriez jeter un coup d’œil aux articles suivants:

Sources:

Point d’intérêt de cet article : Groovy Java SoapUI langage programmation boucle foreach

Arnaud

Webmaster & Administrateur de UIOP.

View Comments

Recent Posts

Joyeux Noel 2024, bonnes fêtes de fin d’année

Voilà 10 ans que je n'avais pas écrit un petit texte pour souhaiter un joyeux… Read More

4 mois ago

Fin des vacances d’halloween (1er novembre), bon retour en classe

Cela faisait un petit moment que je n'avais pas créé de billets sur ce blog.… Read More

6 mois ago

Agile | L’importance d’écrire des tâches pour une User Story

Explorez l'importance des user stories dans la méthode Agile à travers une vidéo humoristique qui… Read More

5 ans ago

[Actu] Printemps des poètes

Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More

6 ans ago

[Actu] Élections présidentielles 2017

Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More

8 ans ago

[Linux] Activer/Désactiver l’UTC en ligne de commande

Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More

9 ans ago