Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

ASort

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

Ordena o array ou uma faixa com comparador opcional.

ASortAdvPL
01 · VISÃO GERAL

Visão geral

ASort altera o próprio array e retorna sua referência. A ordem padrão é crescente para elementos de tipos comparáveis. Em matrizes, o bloco recebe dois elementos e indica se o primeiro precede o segundo. A documentação não garante estabilidade entre valores empatados; inclua um critério de desempate quando necessário. O comparador pode executar muitas vezes e não deve gravar dados nem alterar os elementos comparados. (TOTVS, s.d., ref. 1)

02 · SINTAXE

Sintaxe

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

Parâmetros

aVetor
ArrayObrigatório

Array a ordenar.

nInicio
NuméricoOpcional

Início; padrão 1.

nCont
NuméricoOpcional

Quantidade; padrão até o final.

bOrdem
Bloco de códigoOpcional

Comparador que recebe dois elementos.

Retorno

Referência ao array ordenado.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function EdAsort()
    Local aItens := {{"B", 20}, {"A", 10}}
    // Compara a chave textual, sem alterar os registros.
    ASort(aItens, , , {|aEsq, aDir| aEsq[1] < aDir[1]})
    ConOut(aItens[1][1])
Return Nil
Resultado esperado

Primeira chave esperada: A. A coleção original é reordenada. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Não usar <= como comparador estrito; garantir consistência e tipos válidos. Clonar antes de ordenar quando a ordem original for relevante.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. ASort. TDN. Consulta em 2026-10-26.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha