程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> lua與c若干問題

lua與c若干問題

編輯:關於C語言

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved