2

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

是否可以在 Lua 中调用一个函数(带有声明的值),然后通过引用再次调用它(无需再次传递值)?

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

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

如果我没有失去任何人,希望那里有一些想法和想法。蒂姆

4

1 回答 1

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

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

于 2012-08-15T22:05:53.570 回答