Lua 環境搭建與語法基礎
阿新 • • 發佈:2019-01-30
故事是這樣的,目前我們的遊戲沒有做到程式碼級別的動態更新,所以很多時候維護一個bug都非常頭疼,新專案我準備使用lua來做動態更新,減少遊戲玩家因為維護bug不得不去更新一個比較大的包的流失。
經過一番的探索,發現目前市面上效率最高的是ulua ,所以決定使用ulua,之前有學習過一些lua方面的知識,這裡回顧一下,方便以後查閱,也是當回憶一下這裡面的知識。
首先下載一下lua的編輯器 這裡提供我使用的 下載地址, 下面是我的學習語法基礎的部分,方便自己以後回憶
--變數型別 所有的數值型都視為 double-- num_int = 10; num_float = 10.1 num_double = 10.001 numOX = 0xff print("num_int =", num_int, "num_float =",num_float, "num_double =",num_double, "numOX =",numOX ); --條件控制語句-- age=60; sex ="female" if age==40 and sex=="male" then print("你是40歲") elseif age>60 and sex~="female" then print("你是60歲以上的 男人"); else print("你是其他型別"); end --FOR迴圈語句-- sum=0; for i=1,100 do sum = sum+i end print("for sum=",sum); --FOR迴圈語句(帶步長的2,表示步長)-- sum=0; for i=1, 10, 2 do sum = sum+i; end print("for sum2 =", sum); --while迴圈-- sum=0; maxSum=100; while(sum<=maxSum)do sum=sum+1; end print("sum_while=",sum); --------------------------函式-------------------------- --函式-- (注意print裡面不是使用 + 而是使用 ,) function fun(n) if n<2 then return 1 end return n; end print("fun return num =", fun(3)); -- 函式 實參多餘形參,則捨棄多餘的實參;若實參不足,則多餘的形參初始化為nil -- function funMutiPara(a, b) return a, b; end x, y, z = funMutiPara(20, 30, 40); print("funMutiPara return num =", x," , ",y, " , ", z); -- 函式(變長引數)-- function funValidate(...) return ...; end x, y, z = funValidate(20, 20, 20); print("funValidate return num =", x," , ",y, " , ", z); --------------------------Table-------------------------- mytable={name="pdw",age=18, handsome="帥嗎"} print("修改前 mytable {name =", mytable.name, " , age =" ,mytable.age, " , handsome =", mytable.handsome); mytable.handsome = "帥爆了"; -- 修改元素 -- mytable.address ="上沙野店"; -- 新加入元素進去 -- mytable.age = nil; -- 刪除元素(此元素講不存在table 裡面了) -- print("修改後 mytable {name =", mytable.name, " , age =" ,mytable.age, " , handsome =", mytable.handsome, " , address =", mytable.address); --遍歷table-- for k, v in pairs(mytable)do print(k, v); end --------------------------Array, 陣列下表從1開始的-------------------------- arr={10, 20, "hello lua"} print("Array[1] = ", arr[1], ", Array[3] = ", arr[3], ", 陣列長度 =", #arr); --訪問全域性變數 通過 _G 的方式-- print(_G.x); --------------------------檔案-------------------------- --載入並語法.lua檔案,只執行一次-- require("語法"); --載入並執行對應的檔案-- dofile("語法.lua"); --載入檔案,延遲到file()在執行-- local file = loadfile("語法.lua"); print(file); file();
預告: 明天開始學習ulua裡面的東西了~~