roAssociativeArray
Este objeto le permite almacenar objetos en un arreglo asociativo (también conocido como mapa, diccionario o tabla hash), una estructura de datos que asocia objetos con claves de cadena.
El uso de bucles PARA CADA anidados para iterar sobre la misma instancia de roAssociativeArray puede provocar un comportamiento inesperado. Consulte la Descripción de la instrucción FOR EACHFOR EACH statement description para obtener más detalles.
El objeto roAssociativeArray se crea sin parámetros:
CreateObject("roAssociativeArray")Como alternativa, se puede crear un arreglo asociativo usando llaves:
aa1 = {}
aa2 = {key1:"value", key2: 55, key3: 5+3 }ifEnum
Reset() As Void
Restablece la posición al primer elemento de la enumeración.
Next() As Dynamic
Devuelve un valor tipado en la posición actual e incrementa la posición.
IsNext() As Boolean
Devuelve verdadero si hay un elemento siguiente.
IsEmpty() As Boolean
Devuelve verdadero si el arreglo asociativo no contiene elementos.
ifAssociativeArray
AddReplace(key As String, value As Object) As Void
Agrega una nueva entrada al arreglo asociativo, asociando el objeto proporcionado con la cadena de clave proporcionada. Solo un objeto puede estar asociado con una clave, por lo que cualquier objeto existente vinculado a esa clave se descarta. Este método siempre distingue entre mayúsculas y minúsculas al crear claves, mientras que la sintaxis de literal de objeto (por ejemplo, aa={bright:"Señal"}) no distingue entre mayúsculas y minúsculas al crear claves, a menos que se llame a SetModeCaseSensitive().
Lookup(key As String) As Dynamic
Busca la clave especificada y devuelve el objeto asociado. Si no hay ningún objeto asociado con la cadena de clave, este método devolverá Inválido.
En muchos casos, el Operador de puntoDot Operator se puede usar como abreviatura de los métodos Lookup() y AddReplace() al trabajar con arreglos asociativos.
DoesExist(key As String) As Boolean
Busca la clave especificada en el arreglo asociativo. Si la clave existe, se devuelve verdadero; de lo contrario, se devuelve falso.
Delete(key As String) As Boolean
Busca un objeto en el arreglo asociativo vinculado a la clave especificada. Si existe dicho objeto, se elimina y se devuelve verdadero; de lo contrario, se devuelve falso.
Clear() As Void
Elimina todos los objetos del arreglo asociativo.
SetModeCaseSensitive() As Void
Hace que todas las acciones posteriores distingan entre mayúsculas y minúsculas. Todas las búsquedas y claves creadas (con la excepción del método AddReplace()) no distinguen entre mayúsculas y minúsculas de forma predeterminada.
LookupCi(key As String) As Dynamic
Busca un objeto en el arreglo asociado con la clave especificada. Este método funciona de manera similar a Lookup(), con la excepción de que las comparaciones de claves nunca distinguen entre mayúsculas y minúsculas, independientemente del modo de mayúsculas y minúsculas.
Append(aa As roAssociativeArray) As Void
Agrega un segundo arreglo asociativo al primero.
Ejemplos
aa = CreateObject("roAssociativeArray")
aa.AddReplace("Bright", "Sign")
aa.AddReplace("TMOL", 42)
print aa.Lookup("tmol")
print aa.Lookup("bright") El script anterior devuelve lo siguiente:
42
SignComo alternativa, puede usar el Operador de PuntoDot Operator en lugar de los métodos AddReplace() y Lookup():
aa = {}
aa.bright = "Sign"
aa.tmol = 42
print aa.tmol
print aa.brightTambién puede especificar una matriz asociativa como un literal de objeto multilínea:
aa = {
bright : "Sign",
tmol : 42,
pie : 3.14
}