主頁 > 知識庫 > Lua中數(shù)字for循環(huán)實例

Lua中數(shù)字for循環(huán)實例

熱門標簽:漳州智云呼電話機器人 武漢外呼防封系統(tǒng)多少錢 新岸線智能電銷機器人 百度地圖標注早餐區(qū)域 清朝地圖標注哈爾濱 地圖標注大廈 個人怎么在地圖標注需要的店鋪 冀州市地圖標注 怎么去除地圖標注

看以下代碼:

復制代碼 代碼如下:

for i=1,2 do 
  print(i) 
  i=3 
end 

輸出是什么?如果習慣了C/C++語言,會覺得因為改變了控制變量i為3,所以在執(zhí)行第二次循環(huán)體之前判斷不通過,所以輸出是1。
但結果輸出是1和2,即雖然改變了i,但循環(huán)還是執(zhí)行了2次。這是為什么呢?

看了lua的源代碼,發(fā)現(xiàn)在語法分析階段,表達式中的i(也叫控制變量)和循環(huán)體中的i并不是一個值,其實表達式中的i叫internal index,循環(huán)體中的i叫external index。

所以在循環(huán)體中并沒有改變表達式中的i的值。

至于為什么lua要這樣做,估計是為了安全吧,怕在循環(huán)體中不經意地改變了表達式的i,從而產生bug。

另外,在Progammming in Lua一書中也提到不要在循環(huán)體內修改控制變量(實際修改的是external index)的值,否則會有不可預知的結果。

您可能感興趣的文章:
  • Lua編程示例(三):稀疏表、雙端隊列、格式化輸出、表和循環(huán)表的格式化輸出
  • Lua編程中使用嵌套循環(huán)的使用教程
  • Lua中的repeat...until循環(huán)語句使用教程
  • 詳解Lua中repeat...until循環(huán)語句的使用方法
  • Lua中for循環(huán)語句的使用教程
  • 詳解Lua中的while循環(huán)語句的使用
  • Lua中變相實現(xiàn)continue跳出循環(huán)
  • Lua中的for循環(huán)和迭代器的秘密探究
  • Lua中三種循環(huán)語句的使用講解

標簽:儋州 宣城 金昌 天門 濰坊 德宏 天門 臺灣

巨人網(wǎng)絡通訊聲明:本文標題《Lua中數(shù)字for循環(huán)實例》,本文關鍵詞  Lua,中,數(shù)字,for,循環(huán),實例,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua中數(shù)字for循環(huán)實例》相關的同類信息!
  • 本頁收集關于Lua中數(shù)字for循環(huán)實例的相關信息資訊供網(wǎng)民參考!
  • 推薦文章