青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 132  文章 - 51  trackbacks - 0
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(7)

隨筆分類

隨筆檔案

文章分類

文章檔案

cocos2d-x

OGRE

OPenGL

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

標準庫提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代數組元素的(ipairs),迭代字符串中單詞的 

(string.gmatch)等等。LUA手冊中對與pairs,ipairs解釋如下:

ipairs (t)

Returns three values: an iterator function, the table t, and 0, so that the construction

for i,v in ipairs(t) do body end

will iterate over the pairs (1,t[1]), (2,t[2]), ···, up to the first integer key absent from the table.

 

 

 

 

pairs (t)

Returns three values: the next function, the table t, and nil, so that the construction

for k,v in pairs(t) do body end

will iterate over all key–value pairs of table t.

See function next for the caveats of modifying the table during its traversal.

 

這樣就可以看出  ipairs以及pairs 的不同。

 

pairs可以遍歷表中所有的key,并且除了迭代器本身以及遍歷表本身還可以返回nil;

 

但是ipairs則不能返回nil,只能返回數字0,如果遇到nil則退出。它只能遍歷到表中出現的第一個不是整數的key

 


下面舉個例子吧!

 

 eg:

local tabFiles = {

[3] = "test2",

[6] = "test3",

[4] = "test1"

}

 

for k, v in ipairs(tabFiles) do

print(k, v)

end

 

 

猜測它的輸出結果是什么呢?

 

根據剛才的分析,它在 ipairs(tabFiles) 遍歷中,當key=1時候value就是nil,所以直接跳出循環不輸出任何值。

 

>lua -e "io.stdout:setvbuf 'no'" "Test.lua"

>Exit code: 0

 

那么,如果是

for k, v in pairs(tabFiles) do

print(k, v)

end

則會輸出所有 :
>lua -e "io.stdout:setvbuf 'no'" "Test.lua" 
3 test2
6 test3
4 test1
>Exit code: 0
現在改變一下表內容,
local tabFiles = {
[1] = "test1",
[6] = "test2",
[4] = "test3"
}
for k, v in ipairs(tabFiles) do
print(k, v)
end
現在的輸出結果顯而易見就是key=1時的value值test1

 >lua -e "io.stdout:setvbuf 'no'" "Test.lua" 

1 test1

>Exit code: 0 

--[示例1.]--
local tt 
=
{
    [
1= "test3",
    [
4= "test4",
    [
5= "test5"
}


for i,v in pairs(tt) do        -- 輸出 "test4" "test3" "test5"
    print( tt[i] )
end

for i,v in ipairs(tt) do    -- 輸出 "test3" k=2時斷開
    print( tt[i] )
end





-- [[示例2.]] --
tbl 
= {"alpha""beta", [3= "uno", ["two"= "dos"}

for i,v in ipairs(tbl) do    --輸出前三個
    print( tbl[i] )
end

for i,v in pairs(tbl) do    --全部輸出
    print( tbl[i] )
end




posted on 2011-12-16 08:43 風輕云淡 閱讀(20951) 評論(3)  編輯 收藏 引用 所屬分類: LUA

FeedBack:
# re: lua 中pairs 和 ipairs區別[未登錄] 2014-03-28 16:31 kyle
英語不好就別誤人子弟了

---------------------------Yours-----------
pairs可以遍歷表中所有的key,并且除了迭代器本身以及遍歷表本身還可以返回nil;
但是ipairs則不能返回nil,只能返回數字0,如果遇到nil則退出。它只能遍歷到表中出現的第一個不是整數的key

--------------------------Mine------------
pairs遍歷表中全部key,value
ipairs從下標為1開始遍歷,然后下標累加1,如果某個下標元素不存在就終止遍歷。這就導致如果下標不連續或者不是從1開始的表就會中斷或者遍歷不到元素。  回復  更多評論
  
# re: lua 中pairs 和 ipairs區別 2015-08-01 13:15 damnimgood
感謝分享 獲益了  回復  更多評論
  
# re: lua 中pairs 和 ipairs區別 2015-09-04 22:32 Rming
@kyle

謝謝分享  回復  更多評論
  

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              欧美激情精品久久久久久大尺度| 亚洲激情婷婷| 亚洲一二三四久久| 国产精品久久久91| 性色av一区二区怡红| 性欧美在线看片a免费观看| 国产日本精品| 免费在线观看日韩欧美| 欧美大片在线观看一区| 在线亚洲免费| 欧美一区二区三区在线视频| 一区二区亚洲欧洲国产日韩| 亚洲第一综合天堂另类专| 欧美日本中文字幕| 午夜宅男久久久| 久久亚洲一区| 亚洲视频在线看| 校园春色国产精品| 91久久久国产精品| 亚洲一二三区视频在线观看| 激情欧美亚洲| 99国产欧美久久久精品| 国产中文一区二区三区| 亚洲国产中文字幕在线观看| 国产精品久久久久久五月尺| 久久这里有精品视频| 欧美精品日韩精品| 久久成人免费| 欧美—级a级欧美特级ar全黄| 亚洲综合999| 免费成人高清在线视频| 西西裸体人体做爰大胆久久久| 久久综合久久久| 欧美一区二区三区免费视频| 乱人伦精品视频在线观看| 香蕉成人伊视频在线观看 | 亚洲午夜91| 久久久精品免费视频| 亚洲午夜黄色| 欧美大片一区二区| 久久免费视频网| 国产精品欧美风情| 99re热精品| 亚洲三级免费观看| 久久久99爱| 久久精品综合一区| 国产精品av免费在线观看| 亚洲电影免费观看高清完整版在线观看 | 亚洲免费在线看| 日韩一区二区精品葵司在线| 久久九九精品99国产精品| 欧美一区二区三区播放老司机| 欧美激情自拍| 亚洲第一福利视频| 在线播放日韩| 久久成人免费网| 久久久精品一区| 国产亚洲一区二区三区| 亚洲欧美日本在线| 欧美一区二区高清| 国产精品尤物| 亚洲欧美视频在线观看视频| 亚洲综合成人在线| 国产精品久久97| 亚洲视频免费看| 欧美亚洲一级片| 国产欧美日韩精品a在线观看| 亚洲一区二区av电影| 亚洲在线成人精品| 国产精品私拍pans大尺度在线| 一区二区三区**美女毛片| 亚洲伊人网站| 国产精品一级在线| 欧美与黑人午夜性猛交久久久| 久久久免费精品视频| 在线观看福利一区| 麻豆成人av| 99re热这里只有精品视频| 亚洲视频国产视频| 国产欧美日本一区视频| 欧美一级网站| 男人的天堂亚洲在线| 亚洲理论电影网| 欧美性事免费在线观看| 亚洲欧美国产精品专区久久| 久久青青草原一区二区| 亚洲人成在线观看一区二区| 欧美日韩午夜| 午夜在线视频观看日韩17c| 久久亚裔精品欧美| 亚洲肉体裸体xxxx137| 国产精品mv在线观看| 欧美亚洲视频在线观看| 亚洲福利视频一区| 亚洲午夜国产一区99re久久| 国产亚洲毛片在线| 欧美风情在线观看| 亚洲欧美日本国产专区一区| 免费欧美视频| 亚洲一区二区三区免费在线观看 | 欧美日韩一区二区视频在线| 亚洲一区美女视频在线观看免费| 久久狠狠久久综合桃花| 亚洲精品在线视频| 国产亚洲精品久久久| 欧美激情一区二区三区| 亚洲欧美日韩第一区| 亚洲第一中文字幕在线观看| 亚洲欧美影音先锋| 91久久精品美女高潮| 国产精品网红福利| 欧美—级a级欧美特级ar全黄| 校园激情久久| 夜夜嗨网站十八久久| 免费亚洲网站| 久久精品人人做人人爽| 亚洲手机视频| 最新高清无码专区| 韩国一区二区三区美女美女秀| 欧美伦理91| 另类成人小视频在线| 性欧美长视频| 亚洲图片欧洲图片av| 亚洲精品激情| 亚洲第一网站| 鲁鲁狠狠狠7777一区二区| 亚欧成人在线| 亚洲影视九九影院在线观看| 亚洲免费成人av电影| 精品白丝av| 一区精品在线| 国产在线观看精品一区二区三区| 欧美性生交xxxxx久久久| 欧美精品二区三区四区免费看视频| 久久夜精品va视频免费观看| 欧美一区二区三区在线免费观看| 亚洲小说欧美另类社区| 国产精品99久久久久久久vr | 久久久久久电影| 欧美在线日韩精品| 欧美一区二区大片| 亚洲欧美在线另类| 午夜精品久久久久久久白皮肤| 亚洲一区美女视频在线观看免费| 亚洲最新合集| 亚洲自拍啪啪| 性欧美xxxx大乳国产app| 亚洲欧美国产精品va在线观看| 亚洲午夜影视影院在线观看| 亚洲视频一二区| 亚洲欧美一区二区视频| 亚洲欧美在线看| 欧美一区在线视频| 久久久国产精彩视频美女艺术照福利 | 国产一区二区三区在线观看精品 | 欧美成人综合在线| 欧美电影打屁股sp| 亚洲国产精品久久久久| 亚洲日本在线视频观看| 日韩亚洲欧美一区二区三区| 日韩午夜视频在线观看| 在线视频欧美日韩| 香蕉尹人综合在线观看| 久久免费视频在线观看| 欧美xx视频| 国产精品二区在线| 国产午夜精品全部视频播放 | 国产精品一区二区欧美| 国产一区二区三区高清在线观看| 激情校园亚洲| 一本大道久久a久久精品综合| 亚洲欧美成人一区二区在线电影| 久久er99精品| 欧美激情精品久久久六区热门 | 亚洲国产婷婷综合在线精品 | 久久久久一区二区三区| 亚洲第一页在线| 亚洲少妇最新在线视频| 久久精品2019中文字幕| 欧美久久久久中文字幕| 国产老女人精品毛片久久| 亚洲第一黄网| 香蕉久久一区二区不卡无毒影院 | 先锋影音网一区二区| 欧美wwwwww| 亚洲午夜精品网| 男女精品视频| 国产一区二区三区高清播放| 亚洲伦理一区| 久久婷婷激情| 亚洲视频一区在线| 欧美搞黄网站| 极品尤物av久久免费看| 亚洲自拍高清| 亚洲国产综合在线看不卡| 久久av免费一区| 国产精品久久久久久亚洲调教 | 欧美天堂在线观看| 91久久精品国产91久久性色| 久久国产免费|