blockgame/mods/bg_api/util_table.lua

29 lines
542 B
Lua
Raw Normal View History

function blockgame.get_keys (tab)
local keyset = {}
local n = 0
for key, value in pairs(tab) do
n = n + 1
keyset[n] = key
end
return keyset
end
function blockgame.shallow_copy_table (tab)
local result = {}
for key, value in pairs(tab) do
result[key] = value
end
return result
end
function blockgame.shuffle (tab)
local keys = blockgame.get_keys(tab)
local result = {}
while #keys > 0 do
local index = math.random(1, #keys)
local key = table.remove(keys, index)
table.insert(result, tab[key])
end
return result
end