2017-06-26 3 views
1

Ich möchte alle Variablen von Lua-Code mit einigen Debugger-Funktionen anzeigen, aber ich kann die exacte Größe der Tabellen nicht erhalten, und auch ich kann das Element einiger Tabellen nicht abrufen (Wert, Name, usw.).Visualisieren von Lua-Variablen

Der folgende Code veranschaulichen, was ich tat:

local name, value; 
local NIL = {} -- to represent nil variables 
local locals = {} 
local a = 9 
local i = 1 
local tab ={1,2,3,4,4,4} 
local tab2 = {22,22,22,22} 
local tab4 = {'X', 'Y','Z'} 

while(true) do 
    name, value = debug.getlocal(1, i) 
    if (name == nil) then break end 
    locals[ name ] = value == nil and NIL or value 
    i = i + 1 
end 

for k, v in pairs(locals) do 
    if(type(v) ~= "table") then -- if it's a simple variable 
     print(k, v) 
    else 
    print("tabel : "..k) -- if it's a table, display it's element 
    print("size : "..#k) 
    -- I want to diplay all the elements of the table !! 
    for x, y in pairs(v) do 
     print(y) 
    end 
    end 
end 
+2

Die "Größe" Operator '# table' funktioniert nur - wie Tische. – Cubic

+0

lesen Sie bitte [3.4.7 - The Length Operator] (https://www.lua.org/manual/5.3/manual.html#3.4.7) in Bezug auf Lua Referenz Handbuch sollte immer das erste, was Sie tun .. – Piglet

+0

Auf jeden Fall sollten Sie über die [Umgebung] (https://www.lua.org/pil/14.html) und [The Debug Library] (https://www.lua.org/pil/23) lesen. html). –

Antwort