Usina BRGuía AdvPL
Ingresar
← Todos los temas
FUNCIóNEn revisión

AEval

AEval( <aArray>, <bBlock>, [nStart], [nCount] ) --> aRet

Ejecuta bloque por cada elemento de un intervalo.

AEvalAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

El bloque recibe elemento e índice. En arrays multidimensionales el elemento de primer nivel puede ser subarray; AEval no recorre automáticamente todas las celdas. Resultados del bloque no crean colección transformada: usar destino separado. El ejemplo acumula suma conservando origen. (TOTVS, s.d., ref. 1)

02 · SINTAXIS

Sintaxis

AEval( <aArray>, <bBlock>, [nStart], [nCount] ) --> aRet

Parámetros

aArray
ArrayObligatorio

Array recorrido.

bBlock
Bloque de códigoObligatorio

Bloque que recibe elemento e índice.

nStart
NuméricoOpcional

Primera posición; predeterminado 1.

nCount
NuméricoOpcional

Cantidad desde inicio; predeterminado hasta final.

Retorno

Array tras operación; no suponer clonación independiente.

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"

User Function EdAeval()
    Local aValores := {10, 20, 30}
    Local nTotal := 0
    // Acumulador externo; no se asignan nuevos valores al array.
    AEval(aValores, {|nValor| nTotal += nValor})
    ConOut(cValToChar(nTotal))
Return Nil
Resultado esperado

Resultado esperado: 60. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • Validar tipos antes de sumar datos externos. Evitar cambiar tamaño del array durante evaluación.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. AEval. TDN. Consulta el 2026-10-25.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha