Altova XMLSpy 2025 Enterprise Edition

Collections et itérateurs

Une collection contient plusieurs objets - comme un array ordinaire. Les itérateurs résolvent le problème du stockage et l’incrémentation des indexes array lorsque vous accédez aux objets.

 

Syntaxe :

 

foreach iterator in collection

 statements

next

 

Exemple :

 

[foreach $class in $classes

 if not $class.IsInternal

         ]        class [=$class.Name];

[        endif

next]

 

Exemple 2 :

 

[foreach $i in 1 To 3

Write "// Step " & $i & "\n"

‘ Do some work

next]

 

 

Dans la première ligne :

 

$classes est l’ objet global de tous les types générés. Il s’agit d’une collection d’objets de classe uniques.

 

Foreach passe à travers tous les items dans $classes, et exécute le code suivant l’instruction, jusqu’à l’instruction next, pour chacun d’entre eux.

 

Dans chaque itération, $class est attribué à l’objet de classe suivant. Il vous suffit de travailler avec l’objet de classe au lieu d’utiliser classes[i]->Name() comme pour un travail en C++.

 

Tous les itérateurs de collection possèdent les propriétés supplémentaires suivantes:

 

Index

L’index suivant, en commençant avec 0

IsFirst

true si l’objet actuel est le premier de la collection (index est 0)

IsLast

true si l’objet actuel est le derner de la collection

Current

L’objet actuel (cela est implicite s’il n’est pas spécifié et peut être exclu)

 

Exemple :

 

[foreach $enum in $facet.Enumeration

 if not $enum.IsFirst

         ], [

 endif

 ]"[=$enum.Value]"[

next]

© 2018-2024 Altova GmbH