lua: parcourir toutes les paires dans la table

J'ai un éparses table lua et j'ai besoin d'itérer sur elle. Le Problème est, il semble que lua commence l'itération à 1, et s'arrête dès qu'il trouve une valeur nil. Voici l'exemple:

> tab={}
> tab[2]='b'
> tab[5]='e'
> for i,v in ipairs(tab) do print(i,v) end
>               --nothing is output here
> tab[1]='a'
> for i,v in ipairs(tab) do print(i,v) end
1   a
2   b
>               --terminates after 2 (first nil value is tab[3])

Est-il possible d'obtenir le résultat souhaité:

1   a
2   b
5   e

source d'informationauteur ewok | 2012-09-25