我想创建一个具有动态属性的类。例如:
class MyClass
{
public:
int GetValue(string str)
{
return smap[str];
}
void SetValue(string str, int i)
{
smap[str] = i;
}
private:
std::map<string, int> smap;
};
如何使用 luabind 或 mluabind 将此类绑定到 lua 以在 lua 中使用,如下所示:
local myclass a;
a.var1 = 5;
a.var2 = 10;
print(a.var1, a.var2);
不是这样的:
local myclass a;
a.SetValue("var1", 5);
a.SetValue("var2", 10);
print(a.GetValue("var1"), a.GetValue("var2"));
var1, var2 - 我只在运行时知道的变量名。