Macro .foreach_item

Cette macro procède à l'itération sur une collection de sous-objets ou d'objets associés.

.foreach_item (collection [,en-tête [,fin [,filtre [,ordre]]]])
	résultat
.next [(séparateur)]

Les paramètres suivants sont disponibles :

Paramètre

Description

collection

Spécifie la collection sur laquelle effectuer l'itération.

Type : Template simple

en-tête

[facultatif] Spécifie le texte à générer avant le résultat, sauf si la collection est vide.

Type : Texte

fin

[facultatif] Spécifie le texte à générer après le résultat, sauf si la collection est vide.

Type : Texte

filtre

[facultatif] Spécifie un filtre à appliquer à la collection avant itération.

Type : Condition simple

ordre

[facultatif] Spécifie l'ordre dans lequel l'itération sera effectué sur la collection au format :
%Item1.propriété% <= %Item2.propriété%
Lorsque la comparaison est évaluée à True, %Item1% est placé après %Item2%. Par défaut, la collection est classée par ordre alphabétique de nom.

Type : Condition simple

résultat

Spécifie le texte à produire pour chaque élément de la collection.

Type : Template complexe

séparateur

[facultatif] Spécifie le texte à générer entre chaque instance de résultat.

Type : Texte

Remarque : Si des valeurs de paramètre contiennent des virgules, des accolades et des espaces de début ou de fin, elles doivent être délimitées par des guillemets. La séquence d'échappement pour les guillemets au sein d'un paramètre est \".
Exemples
Liste simple :
.foreach_item(Attributes)
	*%Code% (%DataType%)[ = %InitialValue%];
.next(\n)
Résultat :
	*available (boolean) = true;
	*actualCost (int);
	*baseCost (int);
	*color (String);
	*height (int) = 10;
	*width (int) = 5;
	*name (int);
Avec en-tête et fin :
.foreach_item(Attributes,Attributs :\n,\n\Fin de la liste des attributs)
	*%Code% (%DataType%)[ = %InitialValue%];
.next(\n)
Résultat :
Attributs : 
*available (boolean) = true; 
*actualCost (int); 
*baseCost (int); 
*color (String); 
*height (int) = 10; 
*width (int) = 5; 
*name (int); 

Fin de la liste des attributs
Avec filtre :
.foreach_item(Attributes,,,%.1:Code%==a)
	*%Code% (%DataType%)[ = %InitialValue%];
.next(\n)
Résultat :
	*available (boolean) = true;
	*actualCost (int);
Avec classement alphabétique inverse :
.foreach_item(Attributes,,,, %Item1.Code% <= %Item2.Code% )
	*%Code% (%DataType%)[ = %InitialValue%];
.next(\n)
Résultat :
	*width (int) = 5;
	*name (int);
	*height (int) = 10;
	*color (String);
	*baseCost (int);
	*available (boolean) = true;
	*actualCost (int);