前言:Lua相對通常的語言相對簡單,有c基礎看一遍就差很少了。通常的代碼都可以看懂。可是Lua也有一些本身的特色,區別與其餘語言,這裏須要注意一下。數組
1.數組下標函數
在Lua中數組下標是從1開始計數的。blog
在初始化一個數組的時候,若不顯示的使用鍵值對的方式賦值,則會默認用數字做爲下標,從1開始。如:作用域
local color={first="red", "blue", third="green", "yellow"} print(color["first"]) --> output: red print(color[1]) --> output: blue --沒有顯示的使用鍵值對的方式賦值,這裏會默認用數字做爲下標,從1開始 print(color["third"]) --> output: green print(color[2]) --> output: yellow print(color[3]) --> output: nil
2.局部表變量io
Lua中的局部變量要用local關鍵字來顯示定義,不用local顯示定義的變量就是全局變量。table
局部變量有做用域,這個和C語言相似function
模塊中應儘可能不要出現全局變量class
3.判斷數組的大小基礎
注意!!必定不要使用#操做符來計算包含nil的數組長度變量
4.非空判斷
1)對於簡單類型的變量,能夠用:
if (var == nil) then
2)對於table類型的變量,能夠用:
if t == nil or _G.next(t) == nil then
5.函數在調用代碼前定義
Lua裏面的函數必須放在調用的代碼以前,下面的代碼是一個常見的錯誤:
local i = 100 i = add_one(i) local function add_one(i) return i + 1 end
6.抵制使用module()函數來定義Lua模塊