mirror of
https://github.com/fortressforever/fortressforever-scripts.git
synced 2024-11-29 07:41:43 +00:00
5a30b6255d
File local variables frustrated me to no end in the Don't Starve codebase; they have no real reason for existing and they only serve to limit mod-ability (their implementation would have to be copy+pasted for any other file to use it and the implementation can't be modified by other files), so they should be generally avoided.
34 lines
No EOL
622 B
Lua
34 lines
No EOL
622 B
Lua
|
|
function table.clear(tbl)
|
|
for k in pairs(tbl) do
|
|
tbl[k] = nil
|
|
end
|
|
end
|
|
|
|
function table.contains(tbl, element)
|
|
if tbl == nil then return false end
|
|
for _, value in pairs(tbl) do
|
|
if value == element then
|
|
return true
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
function table.contains_any(tbl, elements)
|
|
if tbl == nil or elements == nil then return false end
|
|
for _, value in pairs(tbl) do
|
|
for _, element in pairs(elements) do
|
|
if value == element then
|
|
return true
|
|
end
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
function totable(obj)
|
|
if obj == nil then return {} end
|
|
if type(obj) == "table" then return obj end
|
|
return {obj}
|
|
end |