Lua 環境搭建與語法基礎

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













發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章