Lua for 循環(huán)

Lua 循環(huán)

Lua 編程語言中 for 循環(huán)語句可以重復(fù)執(zhí)行指定語句,重復(fù)次數(shù)可在 for 語句中控制。

Lua 編程語言中 for語句有兩大類::

  • 數(shù)值for循環(huán)

  • 泛型for循環(huán)

數(shù)值for循環(huán)

Lua 編程語言中數(shù)值 for 循環(huán)語法格式:

for var=exp1,exp2,exp3 do  
    <執(zhí)行體>  
end

var 從 exp1 變化到 exp2,每次變化以 exp3 為步長遞增 var,并執(zhí)行一次 "執(zhí)行體"。exp3 是可選的,如果不指定,默認(rèn)為1。

在線示例

for i=1,f(x) do
    print(i)
end
 
for i=10,1,-1 do
    print(i)
end

for的三個(gè)表達(dá)式在循環(huán)開始前一次性求值,以后不再進(jìn)行求值。比如上面的f(x)只會在循環(huán)開始前執(zhí)行一次,其結(jié)果用在后面的循環(huán)中。

驗(yàn)證如下:

#!/usr/local/bin/lua  
function f(x)  
    print("function")  
    return x*2   
end  
for i=1,f(5) do print(i)  
end

以上示例輸出結(jié)果為:

function
1
2
3
4
5
6
7
8
9
10

可以看到 函數(shù)f(x)只在循環(huán)開始前執(zhí)行一次。

泛型for循環(huán)

泛型 for 循環(huán)通過一個(gè)迭代器函數(shù)來遍歷所有值,類似 java 中的 foreach 語句。

Lua 編程語言中泛型 for 循環(huán)語法格式:

--打印數(shù)組a的所有值  
a = {"one", "two", "three"}
for i, v in ipairs(a) do
    print(i, v)
end

i是數(shù)組索引值,v是對應(yīng)索引的數(shù)組元素值。ipairs是Lua提供的一個(gè)迭代器函數(shù),用來迭代數(shù)組。

在線示例

循環(huán)數(shù)組 days:

#!/usr/local/bin/lua  
days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  
for i,v in ipairs(days) do  print(v) end

以上示例輸出結(jié)果為:

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

Lua 循環(huán)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清