通过引用调用Lua函数

时间:2012-08-15 21:21:47

标签: function lua

好的,我搜索了这个,但无济于事。这是一种模糊的思想/想法,所以......就在这里。

在Lua中,是否有可能调用一个函数(具有声明的值),然后通过引用再次调用它(不必再次传递值)?

我要做的是创建一个更大的泛型函数(重复使用),它具有在调用泛型函数时声明的传递值。

如果泛型函数失败,我希望它回收并尝试使用相同的使用值调用自身(不必再将它们传递给函数。)

如果我没有失去任何人,希望有一些想法&那里的想法。 添

1 个答案:

答案 0 :(得分:4)

如果您希望将参数传递给函数,则每次都需要传递它们。

您可以通过闭包将某些参数绑定到函数:

function bind(f, ...)
    local args = {...}
    return function()
        return f(unpack(args))
    end
end

foo = bind(print, "This", "is", "a", "test")
foo() --> This    is      a       test
foo() --> This    is      a       test

如果您发布了一些示例代码,那么回答您的问题会更容易。