Collection (gb)

Implementa una tabla hash (en la cual se pueden buscar rápidamente pares clave-valor), en la que los elementos tienen una clave de tipo cadena y los valores son de tipo variant.

Cuando no hay nada asociado a una clave, se emplea el valor NULL. En consecuencia, asociar el valor NULL con una clave, tiene el mismo efecto que eliminarlo de la colección.

El tamaño de la tabla hash interna crece automáticamente al insertar datos.

Esta clase es instanciable.

Esta clase actúa como un array de lectura / escritura.

Esta clase es enumerable con la palabra clave FOR EACH.

Propiedades
Count   Devuelve el número de elementos almacenados en la colección.
Default  
Empty  
First  
Key   Devuelve la clave del último elemento leído o enumerado.
Keys  
Last  
Length   Devuelve el número de elementos almacenados en la colección.

Métodos
Add   Añade un elemento a la colección.
Clear   Elimina todos los elementos de la colección.
Copy  
Exist   Devuelve TRUE si hay algo asociado con la clave indicada en la colección.
Remove   Elimina un elemento de la colección.

Ejemplo

PUBLIC SUB Main()

  DIM cAbbr2Weekday AS Collection = ["mo": "Monday", "tu": "Tuesday", "we": "Wednesday", "th": "Thursday", "fr": "Friday", "sa": "Saturday", "su": "Sunday"]
  DIM cCopy AS Collection
  DIM sAbbr AS String
  
  ' To access the data
  PRINT cAbbr2Weekday["fr"]
  
  ' Print mapping key to value
  FOR EACH sAbbr IN cAbbr2Weekday
    PRINT cAbbr2Weekday.Key & " --> " & sAbbr
  NEXT

  ' Lenght/Count return both 7
  PRINT cAbbr2Weekday.Count
  PRINT cAbbr2Weekday.Length

  ' Add element and remove it again
  cAbbr2Weekday.Add("sat", "Saturday")
  cAbbr2Weekday.Remove("sat")
  
  ' Test if a key is present
  PRINT cAbbr2Weekday.Exist("we")
  
  ' Make a copy and clear the original collection
  cCopy = cAbbr2Weekday.Copy()
  cAbbr2Weekday.Clear()

END