lua中數值for循環的理解
05-01
來源:lua中數值for循環的理解 - CSDN博客
先給一個「數值」的for例子,通過該例子,理解數值for的執行過程
for i = 1 , 10 , 1 do print(i)end
循環變數為i,
表達式1:i = 1
表達式2:10 --雖說是一個數字,但在lua中也是一個表達式
表達式3:1 --也是一個表達式
循環體:do與end之間的內容,這裡是print(i)
執行過程:
先取表達式1(即i=1),該表達式只被執行一次
再取表達式3的符號,如果表達式3的符號為正,那麼表達式2就作為for循環的上界,如果表達式3位負,那麼表達式2就作為for循環的下界
再將循環變數i的值與表達式2進行比較,比較規則為:
如果表達式3為正,那麼判斷循環變數 i 的值是否小於等於表達式2,如果為真,執行循環體,然後將循環變數 i 加上表達式3,如果為假,for循環結束
如果表達式3為負,那麼判斷循環變數 i 的值是否大於表達式2,如果為真,執行循環體,然後將循環變數 i 加上表達式3,如果為假,for循環結束
所以,上面for循環結束後,i 的值為10
如果將上面的表達式改為如下,那麼該for循環會是一個死循環
for i = 10 , 10 , 0 do print(i)end
推薦閱讀:
※lua-protobuf 使用說明
※手游熱更新方案xLua開源:Unity3D下Lua編程解決方案
※【遊戲安全】看我如何通過hook攻擊LuaJIT
※actor模型除了erlang和skynet用得廣泛嗎?
※有什麼用Lua做的好玩的項目嘛?
TAG:Lua |