我正在尝试使用函数装饰器来装饰多个函数,并且我想获取要装饰的函数的参数(在这种情况下,在参数中称为fun
),并且我希望以返回函数的参数(在本例中为func
)从参数(称为fun
)获得的函数的参数所以它可能看起来像这样:
local function decorator(fun)
local function func(fun.args)
-- Write here custom behaviour to add to the function 'fun'
fun(fun.args)
end
return func
end
但是,显然没有fun.args
之类的东西可以更准确地向您解释我想要的东西。请记住这一点,我不知道我要装饰的功能,而且我要装饰的功能可能彼此不同,因此这是将自定义行为添加到功能的一种方式(如您所见)在上面的代码示例中)
所以,先生,有没有办法做我需要做的事情?预先非常感谢!
Lua通过...
支持varargs。在您的情况下,可以这样使用它:
local function decorator(fun)
local function func(...)
-- Write here custom behaviour to add to the function 'fun'
fun(...)
end
return func
end
并且如果您想使用“自定义行为”部分中的参数,则可以执行local args = {...}
,然后以数字方式访问它们(例如args[1]
将包含第一个参数)。