【发布时间】:2014-07-02 11:54:57
【问题描述】:
我正在使用 tolua++ 自动向 Lua 公开 C++ 类型。似乎当我暴露某种类型时,例如
struct TestComponent
{
float foo;
string bar;
}
tolua 的作用(至少在我看来是这样的)是向 lua 环境添加一个新的元表(在这种情况下,它会被称为 TestComponent)使用一些常规元方法,例如 __add, __lt,以及 __index、__newindex 等。它还具有一些自定义函数(称为 .set 和 .get),当您获取或设置结构/类的某些成员时似乎使用这些函数.这里TestComponent的类型好像只是“table”。
但是,对于像上面这样的简单结构定义,它似乎缺少的是用于创建 TestComponent 类型的新实例的函数/方法,例如
a = TestComponent:new()
那么,问题是,如何创建这种类型的新实例并将其分配给变量?例如,将其交给需要 TestComponent 类型参数的函数。
【问题讨论】:
标签: lua tolua++ meta-method