Executa um code block para cada elemento de um array.

Sintaxe

AEVAL( aArray, bBloco, [ nInicio ], [ nQtde]) –> aArray

 

Descrição

AEVAL() executa um code block para cada elemento de um array, passando cada um como o parâmetro do bloco. É muito semelhante ao DBEVAL().

AEVAL() passa cada elemento de um array para o code block sem se preocupar com o tipo.

 

Exemplo 1

#include “Directry.ch”

//

LOCAL aFiles := DIRECTORY(“*.dbf”), nTotal := 0

AEVAL(aFiles,{ | aDbfFile | QOUT(PADR(aDbfFile[F_NAME], 10), aDbfFile[F_SIZE]),;

nTotal += aDbfFile[F_SIZE]);

} )

//

?

? “Total Bytes:”, nTotal

 

Exemplo 2

#include “Directry.ch”

//

LOCAL aFiles := DIRECTORY(“*.dbf”), aNames := {}

AEVAL(aFiles, { | file | AADD(aNames, file[F_NAME]) } )

 

Exemplo 3

LOCAL aArray[6]

AFILL(aArray,”old”)

AEVAL(aArray,;

{|cValue,nIndex| IF(cValue == “old”,;

aArray[nIndex] := “new”,)})

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Necessita de ajuda?