Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 如何访问丢弃的函数参数?_Lua - Fatal编程技术网

Lua 如何访问丢弃的函数参数?

Lua 如何访问丢弃的函数参数?,lua,Lua,在Lua中,调用带有多余参数的函数将简单地丢弃这些参数。debug库是否有可能访问这些丢弃的参数?(我不是在寻找可变函数) 编辑:正如Luiz Henrique在评论中告诉我的,这在标准Lua中是不可能的。他还要求提供更多的上下文,所以我将重复我试图解决的问题,以回答另一个问题。在另一个问题中,OP希望访问模块在包中的名称。从loader函数中预加载,但不将其作为参数,因为它是通过require传递的。我不知道为什么,但这让我想到了一个问题:是否有可能访问丢弃的参数 package.prelo

在Lua中,调用带有多余参数的函数将简单地丢弃这些参数。
debug
库是否有可能访问这些丢弃的参数?(我不是在寻找可变函数)


编辑:正如Luiz Henrique在评论中告诉我的,这在标准Lua中是不可能的。他还要求提供更多的上下文,所以我将重复我试图解决的问题,以回答另一个问题。在另一个问题中,OP希望访问模块在
包中的名称。从loader函数中预加载
,但不将其作为参数,因为它是通过
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")

没有办法。你到底想解决什么问题?@lhf不是我的问题。我正在回答另一个问题,这个问题出现了,我不知道这是否可能,所以我自己发了一个问题。我不太喜欢这样做,如果你说“不”“作为回答,我会接受。
..
,但该函数也需要标记为
..
。不幸的是,在非vararg函数中使用
..
是一个错误。@lhf我添加了一些更多的上下文来引出这个问题。您可以替换
包。预加载[“test”]
使用您自己的vararg函数调用原始函数?
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")