web-dev-qa-db-ja.com

lua:テーブル内のキーのリストを取得します

Luaでテーブルのキーセットを取得する方法を知る必要があります。たとえば、次の表がある場合:

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

次のようなテーブルを取得したい:

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
_

keysetの順序を保証できないことに注意してください。キーをソート順にしたい場合は、keysettable.sort(keyset)でソートします。

38
lhf