web-dev-qa-db-fra.com

lua: récupérer la liste des clés d'une table

J'ai besoin de savoir comment récupérer le jeu de clés d'une table dans lua. par exemple, si j'ai le tableau suivant:

tab = {}
tab[1]='a'
tab[2]='b'
tab[5]='e'

Je veux récupérer un tableau qui ressemble à ceci:

keyset = {1,2,5}
32
ewok
local keyset={}
local n=0

for k,v in pairs(tab) do
  n=n+1
  keyset[n]=k
end

Notez que vous ne pouvez garantir aucune commande dans keyset. Si vous souhaitez que les clés soient triées, triez keyset avec table.sort(keyset).

38
lhf