lua 是動態型別語言,變數不要型別定義,只需要為變數賦值。 值可以儲存在變數中,作為引數傳遞或結果返回。
lua 中有 8 個基本型別分別為:nil(空值,相當於null)、boolean、number(雙精度double型別)、string、userdata(表示任意儲存在變數中的c資料結構,可以將任意 c/c++ 的任意資料型別的資料(通常是 struct 和 指標)儲存到 lua 變數中呼叫)、function、thread 和 table(注意這個索引下標從 1 開始)。
有刪除的作用,將乙個變數賦值為nil的時候,相當於將這個變數進行了乙個刪除操作,另外nil進行比較操作的時候需要加上雙引號。
如:x=nil
type(x)nil (返回false)
type(x)「nil」(返回true)
用單引號或者雙引號表示
如:string1 = 「this is string1」
string2 = 『this is string2』
同樣也可以用 表示一大段的文字
字串之間的連線用「. .」表示,數字字元之間進行算數操作的時候,會把字串自動轉化成數字型別進行計算
print(「2」 + 6)可以使用#來計算字串的長度8.0print(「2」 + 「6」)
8.0print(「2 + 6」)
2 + 6
print("-2e2" * 「6」)
-1200.0
len = 「www.runoob.com」– 建立乙個空的 tableprint(#len)
14print(#「www.runoob.com」)
14
local tbl1 = {}
使用類似字典鍵值對的方式來操作表:
a = {}
a[「key」] = 「value」
key = 10
a[key] = 22
a[key] = a[key] + 11
for k, v in pairs(a) do
print(k … " : " … v)
endfunction在lua裡面可以當做乙個變數來使用,即可以進行函式之間的賦值,可以將函式當做乙個變數傳入另乙個函式,也可以直接使用匿名函式來進行使用。總的來講感覺就像是把unity裡面的委託直接就當做了一種常規用法,不用再使用委託來進行相關操作。
如:function factorial1(n)
if n == 0 then
return 1
else
return n * factorial1(n - 1)
endend
print(factorial1(5))
factorial2 = factorial1
print(factorial2(5))
匿名函式和函式作為變數來傳遞:
function testfun(tab,fun)
for k ,v in pairs(tab) do
print(fun(k,v));
endend
tab=;
testfun(tab,
function(key,val)–匿名函式
return key…"="…val;
end);
以上例項都來自 菜鳥教程
Lua基礎學習 Lua函式
函式主要用途 1 是作為呼叫語句使用。2 作為賦值語句的表示式使用。語法 區域性 全域性 function fun name 引數列表 函式體endfunction 定義函式關鍵字注意 1 在使用 lua 函式 變數時一定要先定義函式 變數 2 lua 函式不支援引數預設值,可以使用 or 解決。如...
Lua基礎學習 五
簡單i o模型假設有乙個當前輸入檔案和乙個當前輸出檔案,它的i o操作均作用於這些檔案。開啟檔案操作語句 file io.open filename mode mode 的值有 模式描述 r以唯讀方式開啟檔案,該檔案必須存在。w開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存...
Lua基礎學習筆記
lua認為false和nil為假,true和非nil為真。要注意的是lua中 0 為 true lua函式多返回值 可變引數ipairs arg 也可以通過 select 來獲取可變引數的數量 連線字串 返回字串長度 陣列下標預設從1開始的。但是是可以指定包括0,或者負數 預設迭代函式 ipairs...