Altova UModel 2024

Colecciones e iteradores

Una colección contiene varios objetos, como una matriz normal y corriente. Los iteradores sirven para almacenar e incrementar índices de matriz al acceder a objetos.

 

Sintaxis:

 

foreach iterator in colección

 instrucciones

siguiente

 

Ejemplo n°1:

 

[foreach $class in $classes

 if not $class.IsInternal

         ]        class [=$class.Name];

[        endif

next]

 

Ejemplo n°2:

 

[foreach $i in 1 To 3

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

      ‘ Do some work

next]

 

 

La instrucción foreach recorre todos los elementos de $classes y en cada uno de ellos ejecuta el código que sigue a la instrucción hasta llegar a la instrucción next.

 

En cada iteración se asigna $class al siguiente objeto de clase. Simplemente se trabaja con el objeto de clase en lugar de usar classes[i]->Name() como en C++.

 

Los iteradores de colección tienen estas propiedades adicionales:

 

Index

El índice actual, empezando por 0

IsFirst

true si el objeto actual es el primer objeto de la colección (el índice es 0)

IsLast

true si el objeto actual es el último objeto de la colección



 

Ejemplo:

 

[foreach $enum in $facet.Enumeration

 if not $enum.IsFirst

         ], [

 endif

 ]"[=$enum.Value]"[

next]

 

 

Rutinas para la manipulación de colecciones

 

collection SortByName( bAscending )

devuelve una colección cuyos elementos están ordenados por nombre (con distinción de mayúsculas y minúsculas) en orden ascendente o descendente.

 

collection SortByNameNoCase( bAscending )

devuelve una colección cuyos elementos están ordenados por nombre (sin distinción de mayúsculas y minúsculas) en orden ascendente o descendente.

 

Ejemplo:

$SortedNestedClassifier = $Class.nestedClassifier.SortByNameNoCase( true )

 

collection SortByKind( bAscending )

devuelve una colección cuyos elementos están ordenados por tipo (p.ej. clase, interfaz...) en orden ascendente o descendente.

 

collection SortByKindAndName( bAscendingKind, bAscendingName )

devuelve una colección cuyos elementos están ordenados por tipo (p.ej. clase, interfaz...) en orden ascendente o descendente y si el tipo es idéntico al nombre (con distinción de mayúsculas y minúsculas en orden ascendente o descendente).

 

collection SortByKindAndNameNoCase( bAscending )

devuelve una colección cuyos elementos están ordenados por tipo (p.ej. clase, interfaz...) en orden ascendente o descendente y si el tipo es idéntico al nombre (con distinción de mayúsculas y minúsculas en orden ascendente o descendente).

© 2018-2024 Altova GmbH