LUA語言基礎

本站文章均爲 李華明Himi 原創,轉載務必在明顯處註明:(作者新浪微博: @李華明Himi 
轉載自【黑米GameDev街區】 原文鏈接: http://www.himigame.com/lua1/1235.html
 

          ☞ 點擊訂閱 ☜
 本博客最新動態!及時將最新博文通知您!


                 

從今天開始,往後將陸續更新Lua教程,主要是搭載Cocos2dx ,有任何疑惑或者不對的地方,盡情指正、交流、探討。

那麼首先肯定是Lua語言基礎的知識點,下面直接附上代碼,註釋已經很清楚,無需贅述。

這裏順便給大家推薦一款mac os上的文本編輯器,好用支持多語言編輯,oc,c,c++,java,lua,js,html等等等

TextMate,圖標是個菊花 – -。   下載地址:http://macromates.com

 

QQ20130406-1@2x

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
-- 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")
end
 
--for
--從4(第一個參數)漲到10(第二個參數),每次增長以2(第三個參數)爲單位
for i=4,10,2 do
    print("for1:"..i+1)
end
--也可以不制定最後一個參數,默認1的增長速度
for i=4,10 do
    print("for2:"..i+1)
end
 
tableFor = {"himi1","himi2","himi3","himi4","himi5"}
for k,v in pairs(tableFor) do
    print("for3:key:"..k.."value:"..v)
end
 
--while
w1 = 20
while true do
    w1=w1+1
    if w1 ==25 then
        break
    end
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")
else
    print("GX7")
end

 

其中主要需要注意的是判斷語句不等於,不再是!= ,在Lua中是~= ,這個要注意。

源碼下載地址: http://vdisk.weibo.com/s/wwgnO

 

另外關於一些常見的函數如下詳解:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--函數詳解
 
--有一個返回值的函數
function funTestBackOne(aCount)
    local aCount= aCount+1
    return aCount
end
 
a =20
print(funTestBackOne(a))
 
--有多個返回值的函數
function funTestBackMore()
    return 2,3
end
 
a,b =funTestBackMore()
print(a.." and "..b)
 
--有變長參數的函數
function funTestUnKnow( ... )
    print(...)
end
funTestUnKnow(a,b,"Himi")
 
--閉合函數(一個函數寫在另外一個函數內)
function funTest1( ... )
    local d = 12;
    d=d+...
    function funTest2( ... )
        print(d)
    end
    funTest2()
end
 
funTest1(100)

 

掌握這些Lua語言基礎,基本足夠你使用了。

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