Lua學習(五) 表

2021-06-29 13:07:13 字數 3282 閱讀 5736

--表

2--可以使用構造器來初始化表,表是lua特有的功能強大的東西。最簡單的建構函式是{},用來建立乙個空表。

3localdays =

4--第乙個元素索引為1,以後的類推,這一點和其他語言的第乙個元素索引是0不同,要特別注意,小心掉到坑裡邊。

5print(days[4])--> lua

6

7--建構函式可以使用任何表示式初始化

8localnum =

9--其實num的初始化等價於如下

10localnum =

11--訪問元素的時候使用中括號

12print(num[1])-->1

13

14--還可以在初始化表的時候為元素提供乙個索引

15localtab =

16--等價於如下的初始化

17localtab =

18print(tab["a"])-->1

19--當索引值是字串的時候可以使用tab.a的形式來訪問元素,其實代表的就是tab["a"],要務必理解這種用法,當你訪問表中元素出錯的時候不妨看看是不是這個知識點沒有掌握好,本人在這裡就遇到了坑,所以只有多實踐才能深刻體會。

20print(tab.a)-->1

21--注意區分tab["a"]和tab[a]這倆種形式,第一種代表的索引是字串a,可以使用等價的形式tab.a來訪問它的值

22--第二種代表的是使用a這個變數的值作為索引來訪問

23locala ="haha"

24localtab2 =

25print(tab2.a)-->hello

26print(tab2[a])-->lua

27

28--向表中新增元素

29tab2.x = 3

30tab2[5] = 4

31--刪除元素

32tab2.a =nil

33

34--乙個表中可以混合各種型別的值,可以是boolean,字串,表,函式,等等

35localtab3 = ,thickness=2, npoints=false,

36,

37,

38

39}

40--沒有新增索引的時候索引預設從1開始

41print(tab3[2].x)--> -10

42

43--在建構函式的最後的","是可選的,可以方便以後的擴充套件

44locala =

45--在建構函式中域分隔符逗號(",")可以用分號(";")替代,通常我們使用分號用來分割不同型別的表元素

46localtab4 =

-- ****** empty table

print("contact string",table.concat(animal,", "))

在對錶操作內建函式和它們被列於下表中。

s.n.

方法及用途

1table.concat (table [, sep [, i [, j]]]):

串連根據給定的參數列中的字串。見範例細節。

2table.insert (table, [pos,] value):

插入的值到表中的指定位置。

3table.maxn (table)

返回最大的數字索引。

4table.remove (table [, pos])

該值從表中刪除。

5table.sort (table [, comp])

排序基於可選的比較參數列。

Lua基礎學習 五

簡單i o模型假設有乙個當前輸入檔案和乙個當前輸出檔案,它的i o操作均作用於這些檔案。開啟檔案操作語句 file io.open filename mode mode 的值有 模式描述 r以唯讀方式開啟檔案,該檔案必須存在。w開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存...

Lua 學習筆記(五) 語句

一 賦值 多重賦值 每個值或每個變數之間以逗號分隔 例如 a,b 10,20 lua先對等號右邊的所有元素求值,然後才執行賦值。二 區域性變數和塊 local建立區域性變數,作用域僅限於宣告它們的程式塊。三 控制結構 1.if then else end 例如 2.for 數值型for for va...

Lua 學習筆記(五)函式

函式的定義 在lua中,函式是一種對語句和表示式進行抽象的主要機制。一 函式基本用法 在lua中,1 函式既可以完成某項特定的任務。被視為一條語句 2 也可以只做一些計算並返回結果。被視為一句表示式 格式 function function name body end 等同於 function na...