[Lua] Prüfen, ob eine Funktion in Lua vorhanden ist
-
Wie bekomme ich es auf die Reihe, dass ich aus der Application heraus prüfen kann, ob Lua eine Funktion, die man in einem Luascript geschrieben haben sollte, kennt?
Ich hab versucht mich durch den Luacode zu boxen und selbst so eine funktion zu schreiben [isfunctionkwown(string Func)] oder so ähnlich, aber das hat leider nicht funktioniert.
Testidee, die leider nicht ging (m_L ist der lua_State*):
lua_pushstring( m_L, Func.c_str()); lua_pushcfunction(m_L,lua_tocfunction(m_L,lua_gettop( m_L ))); int FakeBool = lua_isfunction(m_L,lua_gettop( m_L ));
-
Eine stinknormale globale Funktion?
Sollte so klappen:
// state sei der Lua-State // varname die Funktion, die du suchst. lua_getglobal(state, varname); if (lua_isnil(state, -1)) // Funktion existiert nicht else if (lua_isfunction(state, -1)) // Es existiert irgendwas mit dem Namen, ist aber keine Funktion // Aufräumen lua_pop(state, 1);
-
Danke, klappt

P.s.: Hatte obendrein das einlesen der Datein nicht richtig gemacht... kein Wunder das das zu komischen Ergebnissen erst führte
