कहा जाता है जाओ मैं सी में एक ही कार्य करने के लिए लुआ में कई अलग अलग समारोह नाम रजिस्टर अब, हर मेरी सी समारोह कहा जाता है, यह तय करने के जो कार्य करते हैं नाम लागू किया गया था एक तरीका है?माना lua आदेश जब एक सी समारोह
उदाहरण के लिए:
int runCommand(lua_State *lua)
{
const char *name = // getFunctionName(lua) ? how would I do this part
for(int i = 0; i < functions.size; i++)
if(functions[i].name == name)
functions[i].Call()
}
int main()
{
...
lua_register(lua, "delay", runCommand);
lua_register(lua, "execute", runCommand);
lua_register(lua, "loadPlugin", runCommand);
lua_register(lua, "loadModule", runCommand);
lua_register(lua, "delay", runCommand);
}
तो, मैं क्या कभी समारोह में यह कहा जाता है के नाम पर मिलता है? अन्य बातों के अलावा, क्योंकि लुआ में कार्य वास्तव में सब पर एक नाम है की जरूरत नहीं है -
क्यों आप सभी कार्यों में एक ही दिनचर्या को मैप करना चाहते हैं? –
मैं एक समारोह भी एक इस सूचक है कि कॉल करने के लिए सक्षम होने के लिए चाहते हैं, लेकिन मौजूदा व्यवस्था को देखते हुए, मैं केवल स्थिर/वैश्विक कार्यों कॉल कर सकते हैं। –