最近在用lua寫游戲服務器邏輯。
用lua寫服務器邏輯簡單好多!你懂的!
第一個問題是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)