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