aAdd

Adiciona um elemento ao final de um array, redimensionando dinamicamente. Retorna o novo tamanho.

Assinatura: aAdd(aArray, xElemento) -> nNovoTam

Retorna: Numeric

aAdd aumenta o array em 1 posicao e adiciona o elemento ao final. Nao confunda com aSize (redimensiona) ou aIns (insere em posicao especifica).

Sintaxe

nNovoTam := aAdd(aArray, xElemento)

Exemplo

aLista := {}
aAdd(aLista, "Item 1")
aAdd(aLista, "Item 2")
aAdd(aLista, "Item 3")
// aLista agora tem 3 elementos

// Adicionar sub-array (multi-dimensional):
aItens := {}
aAdd(aItens, {"01", "PROD001", 10, 25.00})  // codigo, produto, qtd, preco
aAdd(aItens, {"02", "PROD002", 5,  18.50})
// Acesso: aItens[1][2] = "PROD001"

Padrao classico

// Popular array a partir de query:
aResultado := {}
While !(cAlias)->(EOF())
    aAdd(aResultado, { ;
        (cAlias)->B1_COD, ;
        (cAlias)->B1_DESC ;
    })
    (cAlias)->(DBSkip())
End

Performance

Em arrays muito grandes (10k+), aAdd e mais lento que pre-alocar com Array(nTam) + atribuicao por indice. Mas pra menos de 1000 elementos, diferenca e desprezivel.

Parâmetros

NomeTipoObrigatórioDescrição
aArrayArraysimArray de destino (modificado in-place)
xElementoAnysimElemento a adicionar

Exemplos

Coletar resultado de query

While !(cAlias)->(EOF())
    aAdd(aRet, (cAlias)->CAMPO)
    (cAlias)->(DBSkip())
End

Veja também