Usina BRGuía AdvPL
Ingresar
← Todos los temas
FUNCIóNPublicado

AClone

AClone( <aArray> )

Duplica un array, incluyendo arrays internos en estructuras multidimensionales.

ArraysMatrizesCópiaFunçõesTDN
01 · DESCRIPCIÓN GENERAL

Descripción general

AClone() crea una copia independiente del array informado. A diferencia de una asignación simple, que hace que dos variables apunten a la misma estructura, AClone() replica los elementos y también los arrays internos. Úsala cuando la rutina necesita modificar la copia sin alterar el array original.

02 · SINTAXIS

Sintaxis

AClone( <aArray> )

Parámetros

aArray
ArrayObligatorio

Array que será duplicado. Puede contener una o más dimensiones.

Retorno

Devuelve un nuevo array con el mismo contenido del array informado, preservando también los arrays internos cuando existan.

03 · EJEMPLO PRÁCTICO

Clonando un array simple

User Function AClone1()
    Local aMatriz1 := { 10, 20, 30 }
    Local aMatriz2 := AClone(aMatriz1)
    Local nIndice := 0

    For nIndice := 1 To Len(aMatriz2)
        MsgInfo( CValToChar(aMatriz2[nIndice]) )
    Next nIndice
Return
Resultado esperado

El array clonado contiene los mismos valores del array original: 10, 20 y 30.

04 · EJEMPLO PRÁCTICO

Copia independiente de array multidimensional

User Function AClone2()
    Local aOriginal := { {"Producto", 10}, {"Servicio", 20} }
    Local aCopia := AClone(aOriginal)

    aCopia[1][2] := 99

    MsgInfo("Original: " + CValToChar(aOriginal[1][2]))
    MsgInfo("Copia: " + CValToChar(aCopia[1][2]))
Return
Resultado esperado

Modificar la copia no cambia el valor del array original, incluso cuando hay arrays internos.

BUENAS PRÁCTICAS
  • Use AClone() quando a cópia será modificada e o array original precisa permanecer intacto.
  • AClone() é especialmente útil em arrays multidimensionais, pois também replica subarrays.
  • A referência TDN compara AClone() com ACopy(): ACopy() é voltada a arrays unidimensionais, enquanto AClone() atende estruturas multidimensionais.
ERRORES COMUNES
  • Asignar aCopia := aOriginal no clona el array; ambas variables apuntan a la misma estructura.
  • Clonar arrays muy grandes puede aumentar el consumo de memoria.
  • Al clonar datos sensibles o temporales, cuida el ciclo de vida de la copia para no mantener información innecesaria en memoria.

Contenido relacionado

REFERENCIAS
  1. TOTVS. AClone. TDN Framework. Duplica un array de una o más dimensiones.
  2. Programação em ADVPL Completo. Material de capacitación registrado en la documentación oficial. Contenido resumido, revisado y ejemplos adaptados.
Estado
Publicado
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