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

隨筆 - 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 風輕云淡 閱讀(20934) 評論(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>
              一区二区欧美日韩视频| 久久久久久一区二区三区| 欧美成人首页| 欧美不卡在线视频| 亚洲美女毛片| 一区二区久久久久| 国产日韩在线看| 欧美成人一品| 欧美三区在线视频| 欧美在线综合| 女同一区二区| 午夜精品福利一区二区三区av | 91久久精品美女高潮| 欧美精品三区| 久久福利视频导航| 欧美成人激情视频| 欧美一区二区免费| 免费在线成人av| 午夜精品亚洲| 噜噜噜久久亚洲精品国产品小说| 中文国产亚洲喷潮| 久久成人一区| 亚洲一区一卡| 老牛嫩草一区二区三区日本| 亚洲综合激情| 欧美1区2区视频| 久久国产福利| 欧美日韩国产在线播放网站| 久久久久久久久久久久久久一区 | 国产性做久久久久久| 欧美激情在线播放| 国产精品免费在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 麻豆91精品91久久久的内涵| 亚洲男人天堂2024| 欧美高清日韩| 免费观看不卡av| 国产免费观看久久黄| 亚洲狼人综合| 亚洲毛片在线观看| 久热精品视频| 久久久久久久久久久久久9999| 欧美色图麻豆| 亚洲肉体裸体xxxx137| 影音先锋久久精品| 一区二区三区精品国产| 一本色道久久加勒比88综合| 久久久中精品2020中文| 欧美一级电影久久| 国产精品大片wwwwww| 亚洲破处大片| 亚洲精品久久7777| 久久久久久久精| 久久日韩粉嫩一区二区三区| 国产模特精品视频久久久久| 亚洲视频国产视频| 亚洲免费在线视频一区 二区| 欧美日韩 国产精品| 亚洲激情视频在线| 99精品国产福利在线观看免费| 美女主播精品视频一二三四| 欧美jizz19性欧美| 亚洲夫妻自拍| 免费成人高清| 欧美激情一区二区三区四区| 亚洲欧洲久久| 欧美成人免费大片| 亚洲人成网站色ww在线| 亚洲理论在线观看| 欧美日韩一卡| 亚洲无限av看| 久久噜噜噜精品国产亚洲综合| 黄色亚洲网站| 老司机成人在线视频| 欧美大尺度在线观看| 亚洲欧洲一区二区天堂久久 | 亚洲精品影院在线观看| 亚洲色图自拍| 国产精品一区二区三区四区五区 | 欧美第一黄网免费网站| 亚洲美女少妇无套啪啪呻吟| 欧美日韩免费高清| 亚洲欧美日韩一区二区在线| 久久久夜精品| 亚洲精品欧美一区二区三区| 欧美日韩亚洲一区三区 | 久久亚洲一区二区三区四区| 亚洲国产精品一区制服丝袜 | 亚洲国产精品久久久久婷婷884 | 韩国一区二区三区美女美女秀| 久久综合精品国产一区二区三区| 亚洲黄色在线观看| 欧美亚洲视频在线观看| 在线欧美不卡| 国产精品成人一区二区网站软件| 久久国产精品电影| 亚洲精品视频在线播放| 欧美在线观看你懂的| 亚洲国语精品自产拍在线观看| 欧美午夜片在线观看| 久久久久se| 中国成人黄色视屏| 欧美成人免费在线| 欧美影片第一页| 亚洲美女黄网| 一区免费观看视频| 国产精品电影网站| 欧美1区2区| 久久视频免费观看| 国产精品欧美风情| 欧美v国产在线一区二区三区| 亚洲午夜电影| 亚洲人成网站精品片在线观看| 久久亚洲春色中文字幕| 中日韩美女免费视频网址在线观看| 国产亚洲免费的视频看| 欧美性猛交99久久久久99按摩 | 久久精品国产第一区二区三区最新章节 | 激情亚洲一区二区三区四区| 国产精品地址| 麻豆国产精品va在线观看不卡| 国产精品99久久不卡二区 | 久久国产精品久久久久久久久久| 一本大道久久a久久综合婷婷| 亚洲国产精品久久久久秋霞不卡| 国产欧美日韩亚洲| 国产精品青草综合久久久久99| 欧美日韩国产精品一区| 免费成人av资源网| 另类激情亚洲| 毛片基地黄久久久久久天堂| 欧美在线日韩精品| 欧美亚洲日本国产| 亚洲在线观看| 亚洲欧美日韩天堂一区二区| 中国成人在线视频| 亚洲午夜激情在线| 亚洲一级片在线观看| 亚洲在线一区二区三区| 亚洲一级在线观看| 亚洲中午字幕| 欧美一区二区三区在线视频| 先锋影院在线亚洲| 久久精品免费看| 老司机午夜免费精品视频| 免播放器亚洲| 欧美日韩不卡一区| 国产精品久久久久久久7电影| 国产精品久久久久一区二区三区| 国产精品久久久久99| 国产精品自拍网站| 国内成人精品视频| 亚洲高清精品中出| 亚洲免费激情| 午夜亚洲视频| 久久久久久色| 亚洲第一色在线| 日韩五码在线| 亚洲综合日本| 久久一日本道色综合久久| 欧美成人亚洲成人| 欧美午夜宅男影院| 国产欧美一区二区三区沐欲| 狠狠干成人综合网| 亚洲精品小视频| 午夜国产一区| 欧美激情久久久久| 一区二区国产精品| 久久精品中文字幕免费mv| 欧美国产成人在线| 国产欧美视频一区二区三区| 亚洲激情成人网| 亚洲在线观看视频| 免费亚洲一区| 亚洲资源av| 欧美黑人一区二区三区| 国产欧美日韩免费| 亚洲精选91| 久久九九热re6这里有精品| 亚洲国产精品123| 亚洲欧美视频在线观看视频| 欧美1区3d| 国产亚洲欧美日韩日本| 夜夜嗨av一区二区三区四季av| 久久精品国产欧美亚洲人人爽| 久久精品72免费观看| 欧美精品一区在线发布| 韩国精品在线观看| 亚洲欧美日韩国产综合在线| 欧美激情影音先锋| 香蕉久久夜色精品国产使用方法| 欧美美女视频| 亚洲国产女人aaa毛片在线| 欧美一区成人| 一区二区三区黄色| 欧美成人国产| 亚洲福利专区| 老司机成人在线视频| 欧美一级片一区| 国产精品入口尤物|