【发布时间】:2020-01-11 11:44:14
【问题描述】:
当我调用某个函数 (getlenv) 时,我想获取环境中的所有本地变量 (debug.getlocal),但是当我调用此函数时,它只获取函数内部的局部变量,而不是函数外部.这可能吗?如果有怎么办?
我现在拥有的代码
function getlenv()
local i = 1
repeat
local k, v = debug.getlocal(1, i)
if k then
print(k, v)
i = i + 1
end
until nil == k
end
getlenv()
【问题讨论】:
-
debug.getlocal的第一个参数是堆栈中的一个级别(尝试将1替换为2、3、...) -
哦,谢谢.. 我现在感觉很愚蠢,但我无法将评论标记为答案
-
@Cosmic 从不添加问题的答案,而是将其作为答案发布。自我回答很好,而在问题正文中添加答案则不然。
标签: function lua local-variables