lua:recuperar lista de claves en una tabla
Pregunta
Necesito saber cómo recuperar el conjunto de claves de una tabla en lua.por ejemplo, si tengo la siguiente tabla:
tab = {}
tab[1]='a'
tab[2]='b'
tab[5]='e'
Quiero recuperar una tabla similar a la siguiente:
keyset = {1,2,5}
Solución
local keyset={}
local n=0
for k,v in pairs(tab) do
n=n+1
keyset[n]=k
end
Tenga en cuenta que no puede garantizar ningún pedido en keyset
.Si desea que las claves estén ordenadas, ordene keyset
con table.sort(keyset)
.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow