1

我有这个功能:

function Bootstrap: test()
-- CODE HERE
end

我会用它的名字来调用这个函数。

这个例子有效:

function callFunc()
    c = "Bootstrap"
    _G[c].test()
end

我需要做这样的事情:

function callFunc()
    c = "Bootstrap"
    f = "test"
    _G[name].[f]() -- Bootstrap.test()
end

但是有一个错误:

'<name>' expected near '['

我应该怎么做?谢谢你。

4

1 回答 1

3

.在这里是不必要的。写_G[name][f]()

.name只是一个语法糖,完全等同于["name"],而这个地方显然不是你应该使用它的地方。

顺便说一句,这与元表或从字符串调用无关。您只需访问一个表的元素,而不是另一个表,访问第二个表中的元素,这恰好是函数并调用它。

于 2012-08-12T12:23:21.393 回答