Lua:当调用函数时传递参数的方法

我想获取传递给特定函数的参数。

例如:

load("return 2+1")()

所需输出:

return 2+1

读了 debug 库之后我不知道该怎么办 :(

点赞
用户6632736
用户6632736

如果我正确理解你想要的,覆盖调用它之前的 load 函数:

local global_load = load
local function load (...)
    print (...) -- 或使用任何调试工具查看参数。
    return global_load (...)
end

您可以这样重新定义任何函数:

local function verbose (func)
    return function (...)
        print (...) -- 或使用任何调试工具查看参数。
        return func (...)
    end
end

local load = verbose (load)

print (load 'return 2 + 1' ())
2020-10-17 15:25:29