Latest web development tutorials

Lua for 循環

Lua 循環 Lua循環

Lua 編程語言中for 循環語句可以重複執行指定語句,重複次數可在for 語句中控制。

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

  • 數值for循環
  • 泛型for循環

數值for循環

Lua 編程語言中數值for循環語法格式:

for var=exp1,exp2,exp3 do  
    <执行体>  
end  

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

實例

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

for的三個表達式在循環開始前一次性求值,以後不再進行求值。 比如上面的f(x)只會在循環開始前執行一次,其結果用在後面的循環中。

驗證如下:

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

以上實例輸出結果為:

function
1
2
3
4
5
6
7
8
9
10

可以看到函數f(x)只在循環開始前執行一次。


泛型for循環

泛型for循環通過一個迭代器函數來遍歷所有值,類似java中的foreach語句。

Lua 編程語言中泛型for循環語法格式:

--打印数组a的所有值  
for i,v in ipairs(a) 
	do print(v) 
end  

i是數組索引值,v是對應索引的數組元素值。 ipairs是Lua提供的一個迭代器函數,用來迭代數組。

實例

循環數組days:

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

以上實例輸出結果為:

Suanday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

Lua 循環 Lua循環