打印Lua中当前作用域可访问的所有局部变量
发布时间:2020-12-15 00:23:22 所属栏目:大数据 来源:网络整理
导读:我知道如何使用以下代码打
我知道如何使用以下代码打印“所有”全局变量
for k,v in pairs(_G) do print("Global key",k,"value",v) end 所以我的问题是如何为当前正在执行的函数可访问的所有变量执行此操作,这可以执行locals()为Python执行的操作。 解决方法
这是locals()函数的实现。它将从调用范围返回一个本地表:
function locals() local variables = {} local idx = 1 while true do local ln,lv = debug.getlocal(2,idx) if ln ~= nil then variables[ln] = lv else break end idx = 1 + idx end return variables end 请注意,在lua REPL中,每一行都是一个单独的块,具有不同的本地。此外,返回内部变量(名称以'(‘开头,如果你想删除它们): > local a = 2; for x,v in pairs(locals()) do print(x,v) end a 2 (*temporary) function: 0x10359b38 感谢你的接纳。你已经解开了拼图的最后一块! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |