如何使用luabind将C++中的表格传递到lua中?

我有一个 C++ 函数,我想要返回一个 lua 表格。

luabind::object getPosition(void)
{
    luabind::table=luabind::newtable(this->state);
    table["x"]=this->position[0];
    table["y"]=this->position[1];
    return table
}

问题在于当 lua 调用这个函数时,返回的是一个数字而不是表格。

点赞
用户2107136
用户2107136
luabind::object getPosition(void)
{
    luabind::object result =luabind::newtable(this->state);
    result["x"]=this->position[0];
    result["y"]=this->position[1];
    return result
}

尝试使用:

函数 getPosition 返回一个 luabind::object 对象。

首先创建一个新的表对象 result,并将其与当前对象的 state 关联。

在表中添加键值对 "x""y",分别为当前对象的 position 数组的第 0 个和第 1 个元素。

最后返回 result 对象。

2014-06-20 10:40:56