在 Lua 中,调用带有多余参数的函数将简单地丢弃这些参数。有没有可能与debug
库来访问这些被丢弃的参数? (我不是在寻找可变参数函数)
function test()
local info = debug.getinfo(1, "u")
print(info.nparams) -- just 0 :(
-- how to access the discarded arguments?
end
test(42, "Hello World!", 3.14)
编辑:正如 Luiz-Henrique 在评论中告诉我的那样,这在标准 Lua 中是不可能的。他还要求提供更多背景信息,因此我将重复我试图解决的问题来回答另一个问题。在另一个问题中,OP想要访问模块内部的名称package.preload
来自加载器函数内部,但在传递时不将其作为参数require
。我不知道为什么,但这让我想到了是否可以访问丢弃的参数的问题。
package.preload["test"] = function()
local info = debug.getinfo(1, "u")
print(info.nparams) -- just 0 :(
-- how to access the name without taking it as an argument
return {}
end
require("test")
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)