|
|
|
|
- Propiedades WLanguage que se pueden utilizar con el tipo de cola
- Funciones del lenguaje WLanguage para la gestión de colas
- Las colas y el multihilo
- Navegación por las colas
- Casos especiales
Una variable de tipo Queue es un tipo estructurado que agrupa un conjunto de elementos del mismo tipo. Los elementos se añaden al final de la cola y se recuperan en orden de espera. Por ejemplo, si los elementos se añaden en el siguiente orden: 1, 2, 3, serán recuperados en el mismo orden 1, 2, 3.
MyQueue is Queue of int // Enqueue the values 1, 2 and 3 Enqueue(MyQueue, 1) Enqueue(MyQueue, 2) Enqueue(MyQueue, 3) // Display the trace: 1, 2, 3 x is int WHILE Dequeue(MyQueue, x) Trace(x) END
Sintaxis
Declarar e inicializar una cola Ocultar los detalles
<Queue Name> is Queue of <Type of Queue Elements>
<Queue Name>: Nombre de la cola Variable a declarar. <Type of Queue Elements>: Tipo de elementos encontrados en la cola. Se pueden utilizar todos los tipos de variables, incluyendo la arrays, la arrays asociativa, las colas, las pilas y las listas.. Por ejemplo: <variable> is queue of arrays of int
<variable> is queue of fixed arrays of 5 int
<variable> is queue of associative arrays of int
<variable> is queue of queues of int
<variable> is queue of stacks of int
<variable> is queue of lists of int Observaciones Propiedades WLanguage que se pueden utilizar con el tipo de cola Las siguientes propiedades pueden ser usadas para manipular a la cola Variable: | | Nombre de la propiedad | Efecto |
---|
AdditionCompleted | Devuelve y modifica el modo de adición de elementos. Este Property se utiliza para el manejo de multihilos. | Instancia | Devuelve el número de ocurrencias de la cola. | NbPendingThread | Devuelve el número de hebras pendientes. Este Property se utiliza para el manejo de multihilos. | Vacío | - True si la cola está vacía,
- False en caso contrario.
|
Funciones del lenguaje WLanguage para la gestión de colas Las siguientes funciones pueden ser usadas para manipular una cola Variable: | | DeleteAll | Borra todos los elementos: - a partir de un lenguaje WLLanguage unidimensional o bidimensional array.
- de un array asociativo.
- de una propiedad array de un tipo avanzado (array de eventos de gglCalendar, etc.).
- de una cola WLanguage.
- de una pila WLanguage.
- de una lista WLanguage.
| Dequeue | Elimina un elemento de la cola. | Deserialize | Deserializa un buffer o una cadena de caracteres que contiene los datos de una clase, estructura, array (incluyendo una array asociativa ), cola, pila, lista o Variable avanzada, así como sus subelementos. | En espera | Añade un elemento a la cola. | QueueInfo | Recupera las características de una cola: tipos de elementos y número de elementos. | Serializar | Transforma los siguientes elementos en un formato específico:- una estructura (y sus subelementos),
- una clase (y sus subelementos),
- y array (incluyendo el arrays asociativo),
- a queue,
- una pila,
- a list.
|
Las colas y el multihilo La gestión del multihilo se tiene en cuenta a la hora de añadir y eliminar un elemento ( Enqueue y Dequeue). También tiene la posibilidad de utilizar propiedades durante una gestión multihilo, pero el resultado no es permanente.. Por ejemplo: IF MyQueue.Occurrence > 0 THEN // The queue may be empty when the thread reaches this point END
Navegación por las colas La sintaxis FOR EACH se puede utilizar para navegar por las colas.. Los elementos se navegan en un orden de espera similar al orden de espera. La sintaxis utilizada corresponde a la utilizada para la arrays: FOR EACH [ELEMENT] <Variable> [, <Counter> [, <Counter>]] OF <Queue> ... END Los elementos pueden ser modificados durante la navegación. Si la cola se modifica durante una navegación, los elementos navegados serán los que se encontraron cuando se inicializó la navegación: - los elementos en cola después de la inicialización de la navegación no serán explorados.
- los elementos que se encuentran en cola después de la inicialización de la navegación seguirán siendo explorados.
Casos especiales - En el depurador, el contenido de la cola se muestra en orden de espera.
- Se puede usar una cola para escribir un parámetro de Procedure.
- Se puede copiar una cola con el operador =.. También tienes la capacidad de copy una instancia de clase o estructura que contiene una cola.
- Una cola se puede inicializar con una lista de elementos en orden de espera.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|