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"]であり、この場所は明らかに使用すべき場所ではありません。

ところで、これはメタテーブルや文字列からの呼び出しとは関係ありません。あるテーブルの要素にアクセスし、たまたま別のテーブルにアクセスし、その2番目のテーブル内の要素にアクセスし、それがたまたま関数であり、それを呼び出します。

于 2012-08-12T12:23:21.393 に答える