IT学习联盟

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
IT学习联盟 门户 文章 C/C++/VC++/MFC/QT 查看内容

lua与c若干问题

2012-8-18 02:51| 发布者: admin| 查看: 929| 评论: 0

最近在用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)

Archiver|IT学习联盟| 网站地图

Powered by Discuz! X2.5© 2001-2010 世界学习室 大伟制作

GMT+8, 2018-5-23 20:34 , Processed in 0.121772 second(s), 12 queries .