Lua基礎學習(一)

2021-10-01 04:39:11 字數 1692 閱讀 3810

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」

print(#len)

14print(#「www.runoob.com」)

14

– 建立乙個空的 table

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...