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

ASort

ASort( <aVetor>, [nInicio], [nCont], [bOrdem] ) --> aRetorno

Ordena array o intervalo con comparador opcional.

ASortAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

ASort modifica array y devuelve su referencia. Orden predeterminado ascendente para tipos comparables. En matrices bloque recibe dos elementos e indica si primero precede segundo. No garantiza estabilidad entre empates; añadir desempate si hace falta. Comparador puede ejecutarse muchas veces y no debe grabar ni modificar elementos. (TOTVS, s.d., ref. 1)

02 · SINTAXIS

Sintaxis

ASort( <aVetor>, [nInicio], [nCont], [bOrdem] ) --> aRetorno

Parámetros

aVetor
ArrayObligatorio

Array a ordenar.

nInicio
NuméricoOpcional

Inicio; predeterminado 1.

nCont
NuméricoOpcional

Cantidad; predeterminado hasta final.

bOrdem
Bloque de códigoOpcional

Comparador que recibe dos elementos.

Retorno

Referencia al array ordenado.

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"

User Function EdAsort()
    Local aItems := {{"B", 20}, {"A", 10}}
    // Compara clave textual sin modificar registros.
    ASort(aItems, , , {|aIzq, aDer| aIzq[1] < aDer[1]})
    ConOut(aItems[1][1])
Return Nil
Resultado esperado

Primera clave esperada: A. Se reordena colección original. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • No usar <= como comparador estricto; asegurar coherencia y tipos válidos. Clonar antes si importa orden original.
  • 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. ASort. TDN. Consulta el 2026-10-26.
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