roAssociativeArray
13 min
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 each docid\ rnmgrnysipovmvri2sttj 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 punto docid\ x0lwrddqbct3aztlesb1 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 sign como alternativa, puede usar el operador de punto docid\ x0lwrddqbct3aztlesb1 en lugar de los métodos addreplace() y lookup() aa = {} aa bright = "sign" aa tmol = 42 print aa tmol print aa bright también puede especificar una matriz asociativa como un literal de objeto multilínea aa = { bright "sign", tmol 42, pie 3 14 }