紫貓安卓按鍵之表

[數組與表]27. 表的定義(VIP)

 

安卓按鍵下的table和lua下的table類似 但是 又不完全一樣

 

 

小知識:聲明方法使用方法遍歷方法

Dim t //聲明變量

T={"a":1,"b":2,"c":3} //給變量賦值一個table類型和對應的值

Traceprint t["a"] //輸出下這個table裏面的元素

Traceprint t["b"]

Traceprint t["c"]

 

//遍歷整個表

For each k,v in t

Traceprint k&"-"&v

next

注意:目前表聲明 單獨一個t={}會報錯 需要自己丟個鍵值對

注意:和數組不同 在table裏面的元素之間是沒有正常順序的 是無序的 用foreach遍歷你並不確定先讀取到哪個元素 後讀取到哪個元素

 

[數組與表]28. 表的鍵名與鍵值(VIP)

小知識:鍵名和鍵值可以是安卓按鍵下的任何類型

比如

T={1:"hello",2:2,"test":true,"c":null} 鍵名是數值 鍵值是布爾型 鍵值甚至可以是一個活生生的函數 但是在實際使用期間 就沒這麼複雜的要求 不多說了

1.不過注意 鍵名不能爲null 小數 負數等等 簡單說就是不要太奇葩 我們平時用表頂多是正數或者字符串 所以不會出現這個問題

2.鍵名可以是變量 鍵值也可以是變量 1

3如果鍵值爲數組 那麼調用的話要注意

無法直接這麼用 可以把這個數組元素轉給一個變量 然後用這個變量來輸出這個數組的內容

 

[數組與表]29. 表的賦值(VIP)

小知識:修改表的某個元素內容

 

Tttt["test"]="test1111"

 

小知識:刪除表的某個元素

Tttt["test"]=null

這樣你遍歷表就無法遍歷到這個元素

 

[數組與表]30. 表的遍歷(VIP)

 

For each k,v in t

Traceprint k&"-"&v

Next

無話可說

    [數組與表]31. 表與數組的混合使用(VIP)

 

小知識:表和數組的關係

 

Dim t={}

 

數組其實就是一個表但是這個表有點特殊

Dim arr=array(1,2,3,4,5)//定義賦值了一個數組

用表的方式輸出下第一個元素

Traceprint arr[1]//結果爲1

 

結論:數組是一個第一個元素序號爲0的數字索引表 但是表的第一個元素默認是從1開始的

 

[數組與表]32. 可以打亂順序的可選參數(VIP)

 

這個也很好理解 原來我們把數組作爲函數的參數 可以實現參數的個數變化 現在我們用表作爲函數參數 不單單是函數參數的個數可以變化 連參數位置也可以變化 但是呢 沒太大用 這樣要求我們寫函數參數的時候更麻煩

 

小知識:老師的這個結構

 

Dim tt=aa or 0 //如果aa爲null就是說這個變量不存在 或者這個變量爲false的話則取後面的0賦值 如果不爲null或者false則把aa的內容賦值

但是呢 沒有考慮到aa如果是空字符串的 瞭解有這麼個寫法 但是用處不算大

 

知識點:數組的問題

只要你對數組產生了改變 無論這個改變是在函數內還是 公共變量 那麼這個數組就已經改變了 除非你用克隆數組

上圖代碼顯示 雖然我用Brr變量獲取了一個和arr一樣的數組 但是後面如果我對brr進行調整改變 arr依然會發生變化 這樣只能用克隆數組來解決問題

 

[數組與表]33. 函數返回多個值的寫法(VIP)

 

[數組與表]34. 表的實際運用(VIP)

    

可以綜合設置一些配置

比如

腳本配置={"是否過劇情":true,"是否簽到":false,"是否日常任務":false}

[數組與表]35. 深層嵌套表(VIP)

本節課只是說了一個內容 就是如何調用多層結構的表 可以理解爲多維數組類似的表

 

Dim t={"name":"test",sex:"男","age":"16","address":{"省":"山東","市":"威海"}}

 

要調用

Traceprint t["address"]["市"]

 

注意 表和數組有一樣的毛病

Tt=t

Tt["name"]="test1"

這樣會導致t這個表的name元素也跟着變化

解決辦法沒有 因爲克隆只是針對數組 無法克隆表

 

[數組與表]36. 把一個函數放入表中(VIP)

 

沒什麼用 暫時是可以裝個B 沒什麼實用性

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章