AADD()

 Añade un nuevo elemento al final de una matriz.

Sintaxis

AADD(, ) –> Valor

Argumentos

es la matriz a la que se va a añadir un nuevo elemento.

es el valor que se va a asignar al nuevo elemento.

Devuelve

AADD() evalúa y devuelve su valor. Si no se especifica , AADD() devuelve NIL.

Descripción

AADD() es una función de tratamiento de matrices que aumenta en uno la longitud real de la matriz destino. Al elemento recién creado se le asigna el valor especificado por .

AADD() se utiliza para ampliar dinámicamente una matriz. Resulta útil para crear listas o colas dinámicas. Un buen ejemplo de esto es la matriz GetList, que utiliza el sistema GET para almacenar objetos Get.

Después de ejecutar READ o CLEAR GETS, GetList pasa a ser una matriz vacía. Cada vez que se ejecuta un mandato @…GET, el sistema GET utiliza AADD() para añadir un elemento nuevo al final de la matriz GetList y, a continuación, asigna un nuevo objeto Get al nuevo elemento.

AADD() es similar a ASIZE(), excepto en que añade los elementos de uno en uno. ASIZE(), en cambio, puede ampliar o reducir una matriz directamente a un tamaño especificado. AADD() tiene la ventaja de que permite asignar un valor al nuevo elemento, mientras que ASIZE() no lo permite. AADD() también puede parecer similar a AINS(), pero se diferencian en que AINS() desplaza elementos dentro de una matriz, pero no cambia la longitud de la misma.

Nota: Si es otra matriz, el nuevo elemento de la matriz destino contendrá una referencia a la matriz especificada por .

Ejemplos:

Los ejemplos siguientes muestran los resultados de llamadas múltiples a AADD() con una matriz:

aMatriz := {}                             //Resultado: aMatriz es una matriz

                                                //vacía

AADD(aMatriz, 5)                       //Resultado: aMatriz es { 5 }

AADD(aMatriz, 10)                     //Resultado: aMatriz es { 5, 10 }

AADD(aMatriz, { 12, 10 })          //Resultado: aMatriz es

                                               //{ 5, 10, { 12, 10 } }

Ficheros: La biblioteca asociada es DPXBASE.CH.