Pelo gawk
manual , que é um bom Referência geral da linguagem awk
:
An important aspect to remember about arrays is that array subscripts are always strings.
Ou seja, awk
matrizes são sempre associativas e as teclas numéricas são stringed. Somente as chaves que estão em uso são armazenadas na matriz (e talvez algum espaço extra para o futuro). Os índices numéricos não são contíguos, portanto matrizes esparsas não ocupam mais espaço que outro array com o mesmo número de elementos.
Quanto a loops, ao usar a sintaxe for (k in array) {body}
o:
loop executes body once for each index in array that the program has previously used
Novamente, apenas os índices que foram usados serão incluídos na iteração da matriz. Note que a ordem da iteração é indefinida , no entanto; não é necessariamente numérico ou a ordem de adição ao array.