故事是這樣的,目前我們的遊戲沒有做到代碼級別的動態更新,所以很多時候維護一個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裏面的東西了~~