Página 1 de 1

destruir variables? (solucionado)

Publicado: 12 Jun 2010, 03:13
por taoru
hola, estoy trabajando con arrays.
quisiera borrar una posición de ella.
ejemplo...
tengo:

dim $a[3]=["1","2","3"]

como puedo borrar $a[1]?

asi me quedo con el valor de $a[0] y $a[2] solamente.
pensé en igualar a $a[1]=""
pero no se si es la forma correcta.

gracias!

Re: destruir variables?

Publicado: 12 Jun 2010, 12:48
por Chefito
Utiliza la función _ArrayDelete.

Saludos.

Re: destruir variables?

Publicado: 14 Jun 2010, 08:31
por Ximorro
Dependiendo de lo que necesites también puede servirte lo que dices de ponerlo a "vacío". La diferencia es que _ArrayDelete recrea la matriz sin ese elemento y la redimensiona. Si vas a hacerlo muchas veces puedes ser poco eficiente, quizás marcar un elemento como borrado sea mejor en ese caso. Además de vez en cuando podrías hacer purga de elementos borrados, algo así como hace _ArrayDelete pero con todos los marcados, en vez de sólo con uno.

Si estás insertando y borrando elementos en la matriz, con el método de marcado puedes reutilizar esas posiciones, si las has eliminado tienes que volver a redimensionar para que quepan...

Si no vas a manipular la matriz muy dinámicamente _ArrayDelete será ideal, muy fácil de usar ¡ya está hecha! ;-)

Re: destruir variables? (solucionado)

Publicado: 15 Jun 2010, 01:59
por taoru
hola, gracias por las respuestas.
si, ya pude lograrlo.

dejo aqui mi código ejemplo por si alguien mas le sirve:

Código: Seleccionar todo

#include <array.au3>

dim $a[4]=[1,2,3,4]

; mostramos el array sin modificar:
for $b in $a
MsgBox(0, "array", $b)
next

; borramos la posición 3:
_ArrayDelete($a, 2)
for $b in $a
MsgBox(0, "array", $b)
next
gracias!