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 |
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); |