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

隨筆 - 132  文章 - 51  trackbacks - 0
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(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 風輕云淡 閱讀(20930) 評論(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

謝謝分享  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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一区二区三区红粉影视| 日韩一区二区电影网| 欧美另类在线播放| 久久久久青草大香线综合精品| 亚洲看片网站| 午夜精品福利在线观看| 亚洲欧美一区二区在线观看| 亚洲男人天堂2024| 亚洲欧美国产精品桃花| 亚洲欧美区自拍先锋| 亚洲自拍偷拍视频| 亚洲综合色视频| 久久精品99国产精品酒店日本| 久久精品国产第一区二区三区最新章节 | 夜夜嗨av一区二区三区网页| 欧美国产日韩免费| 亚洲国产成人精品女人久久久| 久久裸体艺术| 亚洲国产1区| 在线亚洲欧美| 欧美中文字幕第一页| 久久精品盗摄| 久久免费国产精品1| 六月婷婷久久| 国产精品av一区二区| 国产综合色在线| 亚洲日韩欧美视频一区| 亚洲一区二区毛片| 久久久久一区| 亚洲一本视频| 欧美在线3区| 欧美成年网站| 国产欧美69| 亚洲欧洲日韩在线| 影院欧美亚洲| 亚洲精品永久免费精品| 亚洲精品影视在线观看| 国内自拍一区| 日韩午夜免费| 欧美亚洲一区二区在线| 欧美福利视频| 亚洲夫妻自拍| 亚洲一区二区三区在线观看视频 | 亚洲国产精品久久久久婷婷884 | 国产毛片精品国产一区二区三区| 激情欧美一区| 在线午夜精品自拍| 欧美成人高清| 亚洲国产天堂久久国产91| 亚洲一区激情| 欧美理论电影在线播放| 国产一区二区三区免费在线观看| 一区二区三区在线观看欧美| 性欧美1819性猛交| 日韩午夜三级在线| 欧美国产精品日韩| 亚洲经典自拍| 久热精品视频在线观看一区| 亚洲尤物在线视频观看| 欧美日韩精品| 亚洲免费福利视频| 亚洲承认在线| 免费成人在线观看视频| 国产在线不卡精品| 销魂美女一区二区三区视频在线| 久久天天躁夜夜躁狠狠躁2022| 一区二区三区 在线观看视| 农村妇女精品| 亚洲第一色中文字幕| 久久先锋影音av| 欧美一区二区啪啪| 国产婷婷色一区二区三区| 亚洲一区二区成人在线观看| 亚洲精品一区在线| 欧美喷潮久久久xxxxx| 日韩一区二区精品在线观看| 亚洲大片在线观看| 欧美搞黄网站| 日韩网站在线看片你懂的| 亚洲欧洲另类国产综合| 欧美女激情福利| 亚洲制服少妇| 亚洲影视在线| 国产性天天综合网| 另类图片国产| 另类专区欧美制服同性| 亚洲精品免费一二三区| 亚洲精品欧美极品| 欧美日韩成人在线| 亚洲图片欧美日产| 亚洲欧美第一页| 国产性色一区二区| 免费观看在线综合色| 免费欧美在线视频| 亚洲精品日韩精品| 一本色道久久综合狠狠躁篇怎么玩| 欧美午夜电影一区| 久久精视频免费在线久久完整在线看| 午夜久久电影网| 日韩一级免费| 日韩视频在线一区| 国产精品理论片| 久久精品国产精品亚洲精品| 久久在线视频在线| 在线中文字幕不卡| 午夜精品网站| 亚洲人成人一区二区在线观看| 亚洲卡通欧美制服中文| 国产精品亚洲精品| 欧美国产欧美综合| 国产精品成人国产乱一区| 久久精视频免费在线久久完整在线看| 久热精品视频在线观看| 亚洲男人的天堂在线| 久久天天躁狠狠躁夜夜av| 亚洲视频在线一区| 亚洲少妇一区| 国产日韩三区| 美女网站在线免费欧美精品| 麻豆精品精品国产自在97香蕉| 日韩一区二区福利| 久久精品国产99| 亚洲欧洲在线一区| 日韩午夜三级在线| 亚洲第一综合天堂另类专| 欧美激情精品久久久久久黑人 | 欧美成熟视频| 亚洲视频观看| 欧美在线观看视频| 亚洲欧洲日夜超级视频| 一区二区三区久久久| 国产亚洲欧美日韩精品| 亚洲国产精品传媒在线观看 | 久久一区二区三区国产精品 | 亚洲欧美中文日韩v在线观看| 免费美女久久99| 久久午夜激情| 国产欧美日韩一级| 99精品国产高清一区二区| 亚洲国产成人高清精品| 午夜一区二区三区不卡视频| 亚洲欧美中文日韩在线| 国产精品福利影院| 日韩午夜高潮| 在线亚洲国产精品网站| 欧美日韩成人一区二区三区| 亚洲国产小视频在线观看| 影音先锋久久| 麻豆91精品| 欧美成人午夜免费视在线看片| 国产一区二区三区四区五区美女| 亚洲黄色av| 好看的日韩视频| 久久精精品视频| 久久九九免费| 久久精品久久综合| 国产欧美日韩精品在线| 亚洲午夜久久久| 久久精品国产一区二区三区免费看 | 国产日韩欧美一区| 亚洲免费在线| 欧美在线观看网址综合| 国产老肥熟一区二区三区| 亚洲欧美在线aaa| 欧美一区二区三区免费观看视频| 国产精品免费看片| 午夜精品久久久久| 久久婷婷国产麻豆91天堂| 一区免费观看视频| 久久亚洲一区二区三区四区| 欧美成人日韩| 99re这里只有精品6| 欧美午夜a级限制福利片| 亚洲欧美视频在线观看| 免费一级欧美在线大片| 国产一区二区三区av电影 | 国产精品乱码一区二三区小蝌蚪| 日韩一区二区免费高清| 久久国产视频网站| 一本综合久久| 在线成人av.com| 国产精品午夜av在线| 欧美福利在线| 欧美在线播放一区| 亚洲小说欧美另类社区| 亚洲黄色片网站| 久久青草福利网站| 午夜免费在线观看精品视频| 亚洲麻豆国产自偷在线| 伊人婷婷久久| 国产日韩欧美在线一区| 国产精品美女www爽爽爽| 欧美日韩精品| 欧美日韩国产电影| 欧美成人免费va影院高清| 久久精品国产一区二区电影 | 欧美1区3d|