lua for循壞和迭代器

2021-09-25 01:51:47 字數 839 閱讀 7012

普通for迴圈

for var=exp1,exp2,exp3 do  

《執行體》

end

var 從 exp1 變化到 exp2,每次變化以 exp3 為步長遞增 var,並執行一次 「執行體」。exp3 是可選的,如果不指定,預設為1。

函式for迴圈

function f(x)  

print("function")

return x*2

end

for i=1,f(5) do print(i)

end

以上例項輸出結果為:

function12

3456

78910

迭代器ipairs和pairs的區別

tb = 

for k,v in ipairs(tb) do

print(k, v)

end

輸出結果就是:

複製** **如下:

1 oh

2 my

3 god

因為tb不存在tb[4],所以遍歷到此為止了。

複製** **如下:

for k,v in pairs(tb) do

print(k, v)

end

輸出結果:

複製** **如下:

1 oh

2 my

3 god

6 world

5 hello

Lua for 迭代器和閉包

for迴圈分為兩種 數值型 numerical for和泛型 generic for。1 數值型for 語法如下 for var exp1,exp2,exp3 do something end上述迴圈中,var的作用範圍為for迴圈內部,其值從exp1變化到exp2之前,每次迴圈都會執行someth...

迭代器和反向迭代器,常量迭代器和非常量迭代器

迭代器的型別共有4種 iiterator,const iterator,reverse iterator,const reverse iterator include include include include using namespace std int main include inclu...

迭代(iterable)和迭代器

任何可迭代物件都可以作用於for迴圈,包括我們自定義的資料型別,只要符合迭代條件,就可以使用for迴圈 d 對dict迭代 for k,v in d.items 如果要同時迭代key和value,可以用for k,v in d.items print k,v 預設情況下,dict迭代的是key 如果...