gpt4 book ai didi

lua - 在 Lua 中,如何从作为参数传递给我的函数的函数中获取函数的参数?

转载 作者:行者123 更新时间:2023-12-03 23:47:10 24 4
gpt4 key购买 nike

我正在尝试使用函数装饰器来装饰多个函数,并且我想获取要装饰的函数的参数(在这种情况下,参数中称为 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 通过 ... 支持可变参数.在你的情况下,你会像这样使用它:

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] 将包含第一个参数)。

关于lua - 在 Lua 中,如何从作为参数传递给我的函数的函数中获取函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61979372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com