- 注:lua5.0以上版本去除了table.getn方法秩仆,可以用#tableName代替
- Chunk是一系列語句,Lua 執(zhí)行的每一塊語句,比如一個文件或者交互模式下的每一行都是一個Chunk。
每個語句結(jié)尾的分號(;)是可選的剑鞍,但如果同一行有多個語句最好用 ; 分開
a = 1 b = a*2 -- ugly, but valid
- 一個 Chunk 可以是一個語句爽醋,也可以是一系列語句的組合蚁署,還可以是函數(shù),Chunk 可以很大蚂四,在 Lua 中幾個MByte的Chunk是很常見
- 另一個連接外部 Chunk 的方式是使用 dofile 函數(shù)光戈,dofile 函數(shù)加載文件并執(zhí)行它.假設(shè)有一個文件:
-- file 'lib1.lua'
function norm (x, y)
local n2 = x^2 + y^2
return math.sqrt(n2)
end
function twice (x)
return 2*x
end
在交互模式下:
> dofile("lib1.lua") -- load your library
> n = norm(3.4, 1.0)
> print(twice(n)) --> 7.0880180586677
-i 和 dofile在調(diào)試或者測試Lua代碼是很方便
- 全局變量
- 全局變量不需要聲明,給一個變量賦值后即創(chuàng)建了這個全局變量遂赠,訪問一個沒有初始化的全局變量也不會出錯久妆,只不過結(jié)果是 nil
print(b) --> nil
b = 10
print(b) --> 10
如果你想刪除一個全局變量,只需要將變量賦值為 nil
b = nil
print(b) --> nil
這樣變量 b 就好像從沒被使用過一樣.換句話說, 當(dāng)且僅當(dāng)一個變量不等于 nil 時跷睦,
這個變量存在筷弦。
- 詞法約定
- 標(biāo)識符:字母或者下劃線開頭的字母、下劃線抑诸、數(shù)字序列烂琴。最好不要使用下劃線加大寫字母的標(biāo)識符,Lua保留字也是這樣
and break do else elseif
end false for function if
in local nil not or
repeat return then true until
while
注意:Lua 是大小寫敏感的.
- 注釋
注釋:單行注釋:--
多行注釋:--[[ --]]
--[[
print(10) -- no action (comment)
--]]