【发布时间】:2016-03-19 21:01:08
【问题描述】:
我有使用 Lua C API 的 C++ 应用程序。 我通过 lua api 声明了全局表:
lua_newtable(L);
lua_pushstring(L, "someLuaFunc");
lua_pushcfunction(L, &someCFunc);
lua_settable(L, -3);
lua_setglobal(L, "table1");
现在我可以使用 '.' 调用 someLuaFunc或':'
table1.someLuaFunc()
table1:someLuaFunc()
两种情况都会运行 someCFunc。
问题是:有什么方法可以在 someCFunc 内部确定它是如何被调用的(通过 : 或 .)?
在我的情况下,检查参数计数和类型不是一个选项。
【问题讨论】:
-
如果你指定你想要达到的目标,也许有人可以提供进一步的帮助,即为什么不能检查参数计数或类型,这将是显而易见的方式