最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年04月23日 10:55:11   投稿:junjie  
這篇文章主要介紹了Lua中數(shù)字for循環(huán)實(shí)例,本文直接給出數(shù)字循環(huán)代碼示例,并探討了改變控制變量的一些問題,需要的朋友可以參考下

看以下代碼:

復(fù)制代碼 代碼如下:

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

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

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

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

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

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

相關(guān)文章

  • Lua協(xié)程(coroutine)程序運(yùn)行分析

    Lua協(xié)程(coroutine)程序運(yùn)行分析

    這篇文章主要介紹了Lua協(xié)程(coroutine)程序運(yùn)行分析,本文講解分析了一段lua 協(xié)程代碼是如何運(yùn)行的,需要的朋友可以參考下
    2015-05-05
  • Lua模塊與包學(xué)習(xí)筆記

    Lua模塊與包學(xué)習(xí)筆記

    這篇文章主要介紹了Lua模塊與包學(xué)習(xí)筆記,本文講解了加載模塊、加載機(jī)制等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • Lua中的控制結(jié)構(gòu)(流程控制)簡明總結(jié)

    Lua中的控制結(jié)構(gòu)(流程控制)簡明總結(jié)

    這篇文章主要介紹了Lua中的控制結(jié)構(gòu)(流程控制)簡明總結(jié),本文講解了IF、repeat、while、for、break、return等語句,需要的朋友可以參考下
    2014-10-10
  • lua 基礎(chǔ)教程

    lua 基礎(chǔ)教程

    Lua 的語法比較簡單,學(xué)習(xí)起來也比較省力,但功能卻并不弱。所以,我只簡單的歸納一下Lua的一些語法規(guī)則,使用起來方便好查就可以了。估計(jì)看完了,就懂得怎么寫Lua程序了。
    2015-09-09
  • Lua教程(四):在Lua中調(diào)用C語言、C++的函數(shù)

    Lua教程(四):在Lua中調(diào)用C語言、C++的函數(shù)

    這篇文章主要介紹了Lua教程(四):在Lua中調(diào)用C語言、C++的函數(shù),本文給出了多個(gè)示例講解如何在Lua中調(diào)用C/C++寫的函數(shù),需要的朋友可以參考下
    2014-09-09
  • 淺析Lua編程中的異常處理

    淺析Lua編程中的異常處理

    這篇文章主要介紹了淺析Lua編程中的異常處理,是Lua入門學(xué)習(xí)中的基礎(chǔ)知識,要的朋友可以參考下
    2015-05-05
  • Lua之wrap函數(shù)用法示例

    Lua之wrap函數(shù)用法示例

    這篇文章主要介紹了Lua之wrap函數(shù)用法示例,本文同時(shí)總結(jié)了wrap和Create的區(qū)別,需要的朋友可以參考下
    2015-04-04
  • Lua UnPack函數(shù)用法實(shí)例

    Lua UnPack函數(shù)用法實(shí)例

    這篇文章主要介紹了Lua UnPack函數(shù)用法實(shí)例,unpack它接受一個(gè)數(shù)組(table)作為參數(shù),并默認(rèn)從下標(biāo)1開始返回?cái)?shù)組的所有元素,需要的朋友可以參考下
    2015-04-04
  • Lua教程(二):C++和Lua相互傳遞數(shù)據(jù)示例

    Lua教程(二):C++和Lua相互傳遞數(shù)據(jù)示例

    這篇文章主要介紹了Lua教程(二):C++和Lua相互傳遞數(shù)據(jù)示例,本文主要講解了基本數(shù)據(jù)類型的傳遞,比如整形(int)、字符串(string)、數(shù)字(number)及bool值,需要的朋友可以參考下
    2014-09-09
  • Lua中設(shè)置table為只讀屬性的方法詳解

    Lua中設(shè)置table為只讀屬性的方法詳解

    這篇文章主要給大家介紹了關(guān)于Lua中設(shè)置table為只讀屬性的方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07

最新評論

蒙阴县| 古田县| 会同县| 齐齐哈尔市| 通化市| 江山市| 龙海市| 慈溪市| 宁乡县| 阳春市| 西峡县| 广东省| 鄱阳县| 老河口市| 海口市| 珠海市| 弋阳县| 余江县| 珲春市| 原平市| 左贡县| 英德市| 彰化市| 永修县| 瑞丽市| 顺昌县| 正安县| 时尚| 南丰县| 府谷县| 塔河县| 怀集县| 东丽区| 珲春市| 桓台县| 南漳县| 普安县| 鄂伦春自治旗| 宝应县| 湄潭县| 元江|