lua: получить список ключей в таблице

мне нужно знать, как получить набор ключей таблицы в lua. например, если у меня есть следующая таблица:

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

Я хочу получить таблицу, которая выглядит следующим образом:

keyset = {1,2,5}

1 ответов


local keyset={}
local n=0

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

обратите внимание, что вы не можете гарантировать какой-либо порядок в keyset. Если вам нужны ключи в отсортированном порядке, то вроде keyset С table.sort(keyset).