【问题标题】:Lua: Get Locals Outside of Function From A FunctionLua:从函数中获取函数之外的局部变量
【发布时间】: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


【解决方案1】:

解决了,我只是愚蠢,只是不得不改变 local k, v = debug.getlocal(1, i)local k, v = debug.getlocal(2, i) 获取函数 o_0 之外的本地人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多