[數組與表]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 沒什麼實用性