從今天開始,往後将陸續更新Lua教程,主要是搭載Cocos2dx ,有任何疑惑或者不對的地方,盡情指正、交流、探讨。
那麼首先肯定是Lua語言基礎的知識點,下面直接附上代碼,注釋已經很清楚,無需贅述。
這裡順便給大家推薦一款mac os上的文本編輯器,好用支援多語言編輯,oc,c,c++,java,lua,js,html等等等
-- mac 上有很多文本編輯器,Himi找了很多,感覺TextMate是比較好用的,小巧且功能強大!而且免費,圖示是個小菊花 - -
-- 注釋語句
--[[
注釋段落語句
]]--
--引用其他lua檔案,不需要加上(.lua)字尾
--require "xx"
--變量不需要定義,可以直接指派
count = 100 --成員變量
local count =100 --局部變量
--方法定義
function hello(...)
--列印
print("Hello Lua!");
print(string.format(...))
end
-- 每一行代碼不需要使用分隔符,當然也可以加上
-- 通路沒有初始化的變量,lua預設傳回nil
-- 調用函數形式
hello("你懂的")
--列印變量的類型
isOK =false
print(type(isOK))
-- 基本變量類型
a =nil --Lua 中值為nil 相當于删除
b =10
c =10.4
d =false
--定義字元串,單引号,雙引号都可以的
e ="i am"
d ='himi'
--兩個字元串的連接配接可以如下形式
stringA ="Hi"
stringB ="mi"
print(stringA..stringB)
--另外Lua也支援轉移字元,如下
print(stringA.."\n"..stringB);
--修改字元串的部分gsub,可以如下形式:(将stringA字元串中的Hi修改為WT)
stringA=string.gsub(stringA,"Hi","WT")
print(stringA);
--将字元換成數字tonumber(不轉也會自動轉)
--将數字換成字元tostring(不轉也會自動轉)
stringC = "100"
stringC = tonumber(stringC)
stringC = stringC +20
stringC = tostring(stringC)
print(stringC)
--取一個字元串的長度使用 #
print(#stringC)
--建立 表
tableA ={}
m = "x"
tableA[m] =100
m2 ='y'
tableA[m2] =200
print(tableA["x"].."\n"..tableA.y)
--另外表還可以如下形式(從1開始)
tableB ={"4","5","6","7","8"}
print(tableB[1])
--算術操作符
c1 = 10+2
c2 = 10-2
c3 = 10*2
c4 = 10/2
c5 = 10^2
c6 = 10%2
c7 = -10+2
print(c1.."_"..c2.."_"..c3.."_"..c4.."_"..c5.."_"..c6.."_"..c7)
--控制操作
--if then elseif then else end
abc =10
if abc ==10 then
print("v1")
elseif abc == 9 then
print("v2")
else
print("v3")
--for
--從4(第一個參數)漲到10(第二個參數),每次增長以2(第三個參數)為機關
for i=4,10,2 do
print("for1:"..i+1)
--也可以不制定最後一個參數,預設1的增長速度
for i=4,10 do
print("for2:"..i+1)
tableFor = {"himi1","himi2","himi3","himi4","himi5"}
for k,v in pairs(tableFor) do
print("for3:key:"..k.."value:"..v)
--while
w1 = 20
while true do
w1=w1+1
if w1 ==25 then
break
end
print("whlile:"..w1)
--repeat
aa =20
repeat aa = aa+2
print("repeat:"..aa)
until aa>28
--關系操作符
--需要注意的是不等于符号 ~= 而不是!=
ax =10
bx =20
if ax >bx then
print("GX1")
elseif ax<bx then
print("GX2")
elseif ax>=bx then
print("GX3")
elseif ax<=bx then
print("GX4")
elseif ax==bx then
print("GX5")
elseif ax~=bx then
print("GX6")
print("GX7")
其中主要需要注意的是,判斷語句不等于,不再是!= ,在Lua中是~= ,這個要注意。
另外關于一些常見的函數如下詳解:
--函數詳解
--有一個傳回值的函數
function funTestBackOne(aCount)
local aCount= aCount+1
return aCount
a =20
print(funTestBackOne(a))
--有多個傳回值的函數
function funTestBackMore()
return 2,3
a,b =funTestBackMore()
print(a.." and "..b)
--有變長參數的函數
function funTestUnKnow( ... )
print(...)
funTestUnKnow(a,b,"Himi")
--閉合函數(一個函數寫在另外一個函數内)
function funTest1( ... )
local d = 12;
d=d+...
function funTest2( ... )
print(d)
funTest2()
funTest1(100)
掌握這些Lua語言基礎,基本足夠你使用了。
本文轉自 xiaominghimi 51CTO部落格,原文連結:http://blog.51cto.com/xiaominghimi/1173219,如需轉載請自行聯系原作者