Lua 变量可视化

我想使用一些调试器函数来显示 Lua 代码中的所有变量,但是我无法得到表的精确大小,并且我也无法检索一些表的元素(值、名称等)。

以下代码说明了我所做的:

local name, value;
local NIL = {} -- 表示空变量
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 -- 如果是简单变量
      print( k, v )
  else
    print("表 : "..k) -- 如果是表,显示其元素
    print("大小 : "..#k)
    -- 我想显示表的所有元素!
    for x, y in pairs(v) do
      print(y)
    end
  end
end
点赞
用户5219197
用户5219197

你可以使用 inspect 库(用于打印嵌套表)或 print_r 函数。

2017-06-27 10:10:02