Árvore de páginas

Sintaxis

 

AFILL( <array>, <expresión> [ , <expresión numérica 1>  ]  [ , <expresión numérica 2> ] )

 

 

Propósito

 

Completa los elementos de un array con un determinado contenido.

 

 

Argumentos

 

< array >

 

Define el array cuyos elementos se completarán por un determinado contenido.

 

< expresión >

 

Define el valor que se completará en cada elemento del array. Puede ser una expresión de cualquier tipo de dato, incluyendo otro array, bloque de código o el valor NIL.

 

< expresión numérica1 >

 

Define la posición del primer elemento que se completará. SI este argumento se omite, el valor estándar será 1.

 

< expresión numérica2 >

 

Define la cantidad de elementos que se completarán a partir de la posición definida en la expresión numérica 1. Si se omite este argumento, todos los elementos del array, a partir de la expresión numérica 1 hasta el último, se completarán.

 

 

Utilización

 

Cuando se declara un array unidimensional (comandos LOCAL, PRIVATE o PUBLIC), sus elementos, a pesar de definidos, tienen el valor NIL como contenido. Para completar todos los elementos de un array con un contenido, de forma rápida y eficiente, se utiliza la función AFILL().

 

La función AFILL(array, 0) es equivalente, pero mucho más rápida y eficiente, a la ejecución de las siguientes instrucciones:

 

FOR nA := 1 TO n          // n es el número de elementos

          aVetor[nA] := 0     // cero es el valor que se completará

NEXT nA

 

Todos los elementos del array, desde el elemento inicial definido por la expresión numérica 1 hasta el final definido por la expresión numérica 2, se completarán con el resultado de la misma expresión especificada.

 

 

Sugerencias

 

La función AFILL() puede utilizarse solamente para completar arrays unidimensionales. Arrays multidimensionales se implementan en el AdvPL como arrays con otros arrays unidimensionales intercalados.

 

La utilización de la función AFILL() sobre arrays multidimensionales sobrescribirá los elementos de las otras dimensiones.

 

 

Ejemplos

 

En este ejemplo se crea un array con tres elementos, que después se completan con el contenido falso (.F.). Al final, se atribuye un nuevo valor, verdadero (.T.), a los elementos en las posiciones dos y tres:

 

LOCAL aLogic[3]                // Resulta: { NIL, NIL, NIL }

 

AFILL(aLogic, .F.)              // Resulta: { .F., .F., .F. }

AFILL(aLogic, .T., 2, 2)      // Resulta: { .F., .T., .T. }

  • Sem rótulos