Usina BRGuía AdvPL
Ingresar
← Todos los temas
FUNCIóNPublicado

AAdd

AAdd( <aDestino>, <xExpressao> ) → xExpressao

Agrega un elemento al final de un array y aumenta su tamaño en una posición.

ArrayMatrizColeccionesFunciones AdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

AAdd() agrega al array el valor de cualquier expresión AdvPL válida y retorna ese valor. Es útil para listas, colas y filas de matrices cuyo tamaño no se conoce previamente.

02 · SINTAXIS

Sintaxis

AAdd( <aDestino>, <xExpressao> ) → xExpressao

Parámetros

aDestino
ArrayObligatorio

Array que recibe el nuevo último elemento y cambia de tamaño.

xExpressao
QualquerObligatorio

Valor asignado a la nueva posición; también puede ser otro array.

Retorno

Retorna el valor informado en xExpresion, no necesariamente el array de destino.

03 · EJEMPLO PRÁCTICO

Adición de valores a un vector

User Function ExAAddNombres()
    Local aNombres := {}

    AAdd(aNombres, "Ana")
    AAdd(aNombres, "Bruno")
    AAdd(aNombres, "Carla")

    MsgInfo(aNombres[3], "Tercer nombre")
Return
Resultado esperado

El array contiene tres valores y la posición 3 contiene “Carla”.

04 · EJEMPLO PRÁCTICO

Construcción de una matriz

// Consulta el ejemplo en portugués; localiza solo los textos para el usuario.
Resultado esperado

Cada elemento principal es una fila con nombre y edad.

05 · EJEMPLO PRÁCTICO

Retorno y referencia de array

User Function ExAAddReferencia()
    Local aDestino := {}
    Local aLinha   := {"Produto", 10}
    Local xRetorno := AAdd(aDestino, aLinha)

    aLinha[2] := 20

    ConOut(xRetorno[2])    // 20
    ConOut(aDestino[1][2]) // 20
Return
Resultado esperado

El retorno es la fila agregada y los cambios posteriores se observan mediante la referencia guardada.

BUENAS PRÁCTICAS
  • Utiliza Len() para consultar el nuevo tamaño.
  • Un array agregado se guarda por referencia.
  • Utiliza AClone() cuando necesites una copia anidada independiente.
  • Utiliza AIns() para una posición existente y ASize() para redimensionar.
  • Los arrays AdvPL comienzan en la posición 1.
ERRORES COMUNES
  • No asignes aDestino := AAdd(...), porque la función retorna el valor agregado.
  • Mantén una estructura uniforme en las filas de una matriz.
  • Evita crecimiento ilimitado dentro de bucles.
  • Recuerda que el array recibido se modifica.

Contenido relacionado

REFERENCIAS
  1. TOTVS. AAdd. TDN.
  2. Terminal de Informação. aAdd. Ejemplos comunitarios de vector y matriz, publicados originalmente el 13 nov. 2016.
Estado
Publicado
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR