Evgen Posted July 8 Share Posted July 8 Приветствую! Начал работать с таблицами в lua. Подскажите, как вывести все элементы таблицы. Таблица многомерная. Спасибо! 1 Quote Link to comment Share on other sites More sharing options...
TechnoViking Posted July 8 Share Posted July 8 Существует множество способов для решения вашей задачи. Будем опираться на использование Lua внутри Vikingo Engine. Способ через json: local json = require"json" local t = {a=100, b={c=200}} print(json.encode(t)) Способ через inspect: local inspect = require"inspect" local t = {a=100, b={c=200}} print(inspect(t)) Некоторые примеры из интернета на чистом Lua: #1 function tprint(t, s) for k, v in pairs(t) do local kfmt = '["' .. tostring(k) .. '"]' if type(k) ~= "string" then kfmt = "[" .. k .. "]" end local vfmt = '"' .. tostring(v) .. '"' if type(v) == "table" then tprint(v, s or "" .. kfmt) else if type(v) ~= "string" then vfmt = tostring(v) end print(type(t)..(s or '')..kfmt..' = '..vfmt) end end end local t = {a = 100, b = {c = 200}} print(tprint(t)) #2 function dump_table(o) if type(o) == "table" then local s = "{ " for k, v in pairs(o) do if type(k) ~= "number" then k = '"' .. k .. '"' end s = s .. "[" .. k .. "] = " .. dump_table(v) .. "," end return s .. "} " else return tostring(o) end end local t = {a = 100, b = {c = 200}} print(dump_table(t)) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.