Como a ordem para a qual as chaves são armazenadas e retidas é determinada no awk?

2
Estou apenas começando a aprender o awk e estava me familiarizando com matrizes associativas apenas para descobrir que a ordem em que as chaves foram recuperadas (ou armazenadas) não fazia muito sentido. Como resultado, fiz algumas pesquisas leves, mas continuei obtendo respostas semelhantes a "elementos em uma matriz associativa não são armazenados em nenhuma ordem específica" ( Source ) ou melhor que encontrei até agora" A ordem em que os elementos da matriz são acessados por esta declaração é determinada pela organização interna dos elementos da matriz dentro de awk e no padrão awk não pode ser controlado ou alterado "( Source ) . No entanto, a última afirmação não faz muito sentido (pelo menos para mim). Assim, o que determina o arranjo interno dos elementos da matriz?

    
por Asterisk 01.06.2015 / 05:11

1 resposta

2

Ele é armazenado como uma tabela de hash:

link

Então, o que isso significa é que o awk calcula o hash de uma chave e a coloca em uma posição específica, e é assim que os pares de valores-chave são armazenados. Você pode ler mais sobre tabelas de hash aqui:

link

    
por 01.06.2015 / 05:16

Tags