Вопрос

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

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

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

keyset = {1,2,5}
Это было полезно?

Решение

local keyset={}
local n=0

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top