我正在使用 lua 5.2.2 和 luabind 0.9。
我希望能够通过 lua 为我在 c++ 中绑定的任何类添加额外的类方法,但我不确定如何去做。
问题是 luabind 使用函数作为任何绑定类的 __index-metamethod 而不是表,所以我根本看不到访问类方法的方法。
例如,我正在像这样绑定我的类:
luabind::module(lua)
[
luabind::class_<testClass>("TestClass")
.def(luabind::constructor<>())
.def("TestFunc",&TestFunc)
];
我本质上想要做的是在这个类的方法列表中添加一个 lua 函数,并且能够覆盖现有的:
local t = tableOfClassMethods
local r = t.TestFunc -- Reference to the c++-function we've bound
t.SomeFunction = function(o) end -- New function for all objects of this class
t.TestFunc = function(o) end -- Should overwrite the c++-function of the same name
任何帮助,将不胜感激。