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ée 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,Attributes:\n,\n\nEnd of Attribute List)
	*%Code% (%DataType%)[ = %InitialValue%];
.next(\n)
Résultat :
Attributes: 
*available (boolean) = true; 
*actualCost (int); 
*baseCost (int); 
*color (String); 
*height (int) = 10; 
*width (int) = 5; 
*name (int); 

End of Attribute List
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);