Domanda lua: recupera l'elenco delle chiavi in ​​una tabella


Devo sapere come recuperare il set di chiavi di una tabella in lua. per esempio, se ho la seguente tabella:

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

Voglio recuperare una tabella simile alla seguente:

keyset = {1,2,5}

27
2017-10-01 13:33


origine


risposte:


local keyset={}
local n=0

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

Si noti che non è possibile garantire alcun ordine in keyset. Se si desidera che le chiavi siano ordinate, quindi ordinare keyset con table.sort(keyset).


34
2017-10-01 13:35