您的位置:首页 > 编程语言 > Lua

lua调C的返回table

2014-02-24 11:07 387 查看
第一个问题是lua调C的返回值的问题 


//测试返回table




/**//**


 下面代码相当lua如下:


 function
return_table()


 local
t = {}


 t.result
= true


 t.data
= "hello"


 return
t


 end


 */


int
tableReturnTable(lua_State * L)






{


 lua_newtable(L);


 int
table_index = lua_gettop(L);




 lua_pushboolean(L,
true);


 lua_setfield(L,
table_index, "result");




 lua_pushstring(L,
"hello", 5);


 lua_setfield(L,
table_index, "data"); 




 return
1;


}
第二问题多参数返回
//测试多返回
/**
下面代码相当lua如下:
function mult_return()
return "hello",100,true
end
*/
int mult_return(lua_Status * L)
{
lua_pushstring(L, "hello");
lua_pushnumber(L,100);
lua_pushboolean(L,true);
return 3;
}
第三个问题,删除表中的元素
local t = {}
t.hello = "hello“
t[1] = 100
删除办法如下:
t.hello = nil
t[1] = nil
清空table
table.foreach(t, function(k,v) t[k] = nil end)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: