RosettaCodeData/Task/Flatten-a-list/Lua/flatten-a-list.lua
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

14 lines
354 B
Lua

function flatten(list)
if type(list) ~= "table" then return {list} end
local flat_list = {}
for _, elem in ipairs(list) do
for _, val in ipairs(flatten(elem)) do
flat_list[#flat_list + 1] = val
end
end
return flat_list
end
test_list = {{1}, 2, {{3,4}, 5}, {{{}}}, {{{6}}}, 7, 8, {}}
print(table.concat(flatten(test_list), ","))