Page 1 of 1

Como recorrer mas rapido un arreglo

PostPosted: Fri Mar 10, 2006 6:37 pm
by Vladimir Zorrilla
Estimados amigos uso xharbour

Tenemos un arreglo de 2 dimensiones adbf

Quiere solo recorrer la columna 3 y cambiarla a numerica

For Fila=1 to len(aDbf)
aDbf[Fila,3]:=val(aDbf[Fila,3] )
Next Fila

Esto se puede hacer mas rapido con AEVAL y en todo
caso como serie el codigo


O es q para q sea mas rapido hay q usea FOR EACH y como
se haria en este caso

PostPosted: Fri Mar 10, 2006 6:41 pm
by Antonio Linares
Vladimir,

El AEval() no tiene necesariamente que ser más rápido. De todas formas, podrías hacerlo así:

AEval( aDbf, { | a | a[ 3 ] := Val( a[ 3 ] ) } )

PostPosted: Fri Mar 10, 2006 7:11 pm
by MarioG
Vladimir:
Walter Negro da una buena explicación de FOR EACH en su BLog
http://cosadenegro.blogspot.com/2005/03/optimizacin-v-for-each.html

Re: Como recorrer mas rapido un arreglo

PostPosted: Sat Mar 11, 2006 1:55 am
by wmormar
Vladimir Zorrilla wrote:Estimados amigos uso xharbour

Tenemos un arreglo de 2 dimensiones adbf

Quiere solo recorrer la columna 3 y cambiarla a numerica

For Fila=1 to len(aDbf)
aDbf[Fila,3]:=val(aDbf[Fila,3] )
Next Fila

Esto se puede hacer mas rapido con AEVAL y en todo
caso como serie el codigo


O es q para q sea mas rapido hay q usea FOR EACH y como
se haria en este caso


He hecho pruebas con FOR EACH, va muy rápido la lectura de arreglos.

Comprobado.