我们有 lua 类。
在 lua 类中有一个方法 registerFunc() 定义:
void lua::registerFun() {
lua_register( luaState, "asd", luaApi::asd);
lua_register( luaState, "zxc", luaApi::zxc);
}
lua_register 是 lua 库的内置函数:http: //pgl.yoyo.org/luai/i/lua_register
它将来自 luaApi 类的静态方法作为第三个参数。
现在有些程序员想要使用 lua 类,所以他不得不创建自己的类,并定义了静态方法,例如:
class luaApi {
public:
static int asd();
static int zxc();
};
现在是重点。我不希望(作为程序员)创建完全命名为“luaApi”的类,但例如 myClassForLuaApi。但是现在这是不可能的,因为它是明确写在代码中的——在 lua 类中:
lua_register( luaState, "asd", luaApi::asd);
我将不得不将其更改为:
lua_register( luaState, "asd", myClassForLuaApi::asd);
但我不想(假设程序员无法访问那里)。
如果还是看不懂,我就放弃了。:)
谢谢。