Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
AADD(<array>, <expressão>)
Propósito
A função AADD() adiciona um novo elemento no final de um array, aumentando o seu tamanho. O conteúdo do novo elemento será o resultado fornecido pela expressão.
Caso a expressão não seja especificada, será atribuído o valor NIL ao novo elemento.
Argumentos
< array >
Define o nome do array no qual será adicionado o novo elemento.
< expressão >
Define o conteúdo que será atribuído ao novo elemento do array.
Utilização
A função AADD() é utilizada para aumentar dinamicamente o número de elementos de um array.
Dicas
A função AADD() é semelhante à função ASIZE(). Enquanto AADD() adiciona apenas um elemento por vez no array especificado, o ASIZE() pode adicionar vários elementos de uma vez, deixando o array especificado com o tamanho desejado. Contudo, a função AADD() pode atribuir um conteúdo ao novo elemento, enquanto que ASIZE() não.
Apesar de parecerem semelhantes, as funções AINS() e AADD() possuem uma diferença básica: a função AINS() adiciona um novo elemento numa determinada posição do array e move todos os outros para o final, descartando o último. Portanto, não altera o tamanho do array. Já a função AADD() adiciona um novo elemento no final do array, aumentando o seu tamanho.
Caso a expressão especificada seja outro array, o novo elemento conterá apenas uma referência ao array especificado pelo argumento <expressão>.
Exemplos
Os exemplos abaixo demonstram utilizações típicas da função AADD():
// Cria um array vazio. Ou seja, sem elementos
aMatriz := { }
// Adiciona um novo elemento no array, que passa a ter apenas 1 elemento, cujo conteúdo é o valor
// numérico 5
AADD(aMatriz, 5)
// Mostra 5
MSGALERT( aMatriz[1] )
// Adiciona mais um elemento no array, que agora passa a ter 2 elementos
AADD(aMatriz, 10)
// Mostra 10
MSGALERT( aMatriz[2] )
// Adiciona mais um elemento no array, que passa a ser multidimensional e a possuir 4 elementos, pois o
// elemento adicionado é um outro array
AADD(aMatriz, { 20, 30 })
// Mostra 20 e 30, respectivamente
MSGALERT(aMatriz[3, 1])
MSGALERT(aMatriz[3, 2])