value=
1.遍歷的形式:
for迴圈,利用#獲取長度的遍歷
for i,#value
doprint
(value
[i])
end
ipairs遍歷
for i,v,
ipairs
(value)do
print
(i,v)
end
pairs遍歷
for k,v,
pairs
(value)do
print
(k,v)
end
2.因為陣列使用的過程,會因為nil,或者自定義索引的原因導致資料沒有辦法完整的遍歷出來
value=
遍歷這個陣列的時候,使用for迴圈列印,列印的結果為3
for i=
1,#value
doprint
(value
[i])
end
使用ipairs遍歷的結果為3
for i,v in
ipairs
(value)do
print
("鍵"
..i.
."_"..
"值".
.v)end
使用pairs遍歷的結果為:
3,2,1
遍歷的結果,與索引的鍵生成的雜湊值有關,當自定義的索引為數字
value=
結果為:1,2,3
value=
結果為:1,2,3
value=
結果為:1,2,3
value=
結果為:3,2,1
value=
結果為:3,2,1
value=
結果為:3,2,1
使用的時候感覺不太可控,因為自己不太可能測試key值在哪個位置,後台生成的雜湊值
總結:pairs能夠很好的把所有的資料遍歷出來。但是當索引為數字,並且,索引的數字如果按順序排序,不會出現中斷的話,使用ipairs排序,能夠還原被打亂的資料,ipairs更像是for通過長度遍歷的一種更安全有效的做法
Lua 迭代器初學
和c 類似,lua也有迭代器,如汎型for。泛型for需要三個值 迭代函式 狀態常量 控制變數 乙個典型的泛型for如下 for k,v in pairs t do print k,v end 泛型for的執行過程 首先,初始化,計算 in 後面表示式的值,表示式應該返回泛型for需要的三個值 迭代...
初學 lua語言 一
安裝完成 scite 是編譯器 最簡單的,在 scite 上 輸入 然後按f5執行 print hello world 輸出下面是一些 方法,加減 判斷語句 function hello print hello world endfunction maxhello print 小了了 endfunc...
Lua 初學 迴圈語句
1.while格式 while 條件 do 執行語句 end2.repeat until格式 repeat 執行語句 until 條件 滿足條件跳出,結束條件,與c 不同的是 c 的do while 進入條件 3.for 的格式 for i 1 迴圈變數,5 結束條件 do 預設的給迴圈變數遞增 執...