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

隨筆 - 132  文章 - 51  trackbacks - 0
<2015年9月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用鏈接

留言簿(7)

隨筆分類(lèi)

隨筆檔案

文章分類(lèi)

文章檔案

cocos2d-x

OGRE

OPenGL

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

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

(string.gmatch)等等。LUA手冊(cè)中對(duì)與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,只能返回?cái)?shù)字0,如果遇到nil則退出。它只能遍歷到表中出現(xiàn)的第一個(gè)不是整數(shù)的key

 


下面舉個(gè)例子吧!

 

 eg:

local tabFiles = {

[3] = "test2",

[6] = "test3",

[4] = "test1"

}

 

for k, v in ipairs(tabFiles) do

print(k, v)

end

 

 

猜測(cè)它的輸出結(jié)果是什么呢?

 

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

 

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

>Exit code: 0

 

那么,如果是

for k, v in pairs(tabFiles) do

print(k, v)

end

則會(huì)輸出所有 :
>lua -e "io.stdout:setvbuf 'no'" "Test.lua" 
3 test2
6 test3
4 test1
>Exit code: 0
現(xiàn)在改變一下表內(nèi)容,
local tabFiles = {
[1] = "test1",
[6] = "test2",
[4] = "test3"
}
for k, v in ipairs(tabFiles) do
print(k, v)
end
現(xiàn)在的輸出結(jié)果顯而易見(jiàn)就是key=1時(shí)的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時(shí)斷開(kāi)
    print( tt[i] )
end





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

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

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




posted on 2011-12-16 08:43 風(fēng)輕云淡 閱讀(20934) 評(píng)論(3)  編輯 收藏 引用 所屬分類(lèi): LUA

FeedBack:
# re: lua 中pairs 和 ipairs區(qū)別[未登錄](méi) 2014-03-28 16:31 kyle
英語(yǔ)不好就別誤人子弟了

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

--------------------------Mine------------
pairs遍歷表中全部key,value
ipairs從下標(biāo)為1開(kāi)始遍歷,然后下標(biāo)累加1,如果某個(gè)下標(biāo)元素不存在就終止遍歷。這就導(dǎo)致如果下標(biāo)不連續(xù)或者不是從1開(kāi)始的表就會(huì)中斷或者遍歷不到元素。  回復(fù)  更多評(píng)論
  
# re: lua 中pairs 和 ipairs區(qū)別 2015-08-01 13:15 damnimgood
感謝分享 獲益了  回復(fù)  更多評(píng)論
  
# re: lua 中pairs 和 ipairs區(qū)別 2015-09-04 22:32 Rming
@kyle

謝謝分享  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              国产日韩欧美三级| 一区二区高清在线| 欧美一级艳片视频免费观看| 国产精品久久二区| 欧美一级成年大片在线观看| 亚洲午夜免费福利视频| 国产精品日韩欧美一区| 久久久不卡网国产精品一区| 久久精品国产99| 亚洲国产导航| 亚洲精品网址在线观看| 欧美视频在线一区二区三区| 一区二区免费在线观看| 在线视频亚洲| 狠色狠色综合久久| 亚洲黄色一区| 国产精品成人午夜| 久久影视三级福利片| 欧美综合第一页| 亚洲大片一区二区三区| 亚洲最新视频在线| 国产精品视频导航| 欧美好骚综合网| 国产精品乱码| 免费一级欧美片在线观看| 欧美久久久久久久| 久久精品水蜜桃av综合天堂| 男男成人高潮片免费网站| 亚洲一区激情| 久久在线视频在线| 欧美一区二区播放| 欧美激情一区二区三区蜜桃视频 | 国产一区二区三区在线观看免费视频| 久久乐国产精品| 欧美区国产区| 裸体歌舞表演一区二区| 欧美日韩和欧美的一区二区| 亚洲免费视频一区二区| 快she精品国产999| 久久大逼视频| 欧美日韩在线播放三区四区| 欧美成人精品一区二区| 免费观看在线综合| 久久激情网站| 午夜一区不卡| 欧美人在线观看| 欧美在线日韩在线| 欧美久久婷婷综合色| 久久人人精品| 国产伦精品一区二区三区四区免费 | 久久精品一区二区三区不卡牛牛| 欧美激情女人20p| 免费的成人av| 红桃av永久久久| 久久精品电影| 久久精品中文字幕一区| 国产精品一区二区久久久久| 日韩午夜激情| 亚洲图片在线观看| 欧美日韩免费看| 亚洲精选在线观看| 亚洲精品一区二区三区在线观看| 久久在线免费视频| 蜜桃精品一区二区三区| 影音先锋在线一区| 久久久久综合| 欧美国产日本韩| 亚洲大胆av| 免费一级欧美片在线播放| 免费看亚洲片| 亚洲三级影院| 欧美日韩国产电影| 一区二区三区国产在线| 亚洲欧美另类久久久精品2019| 欧美三级乱人伦电影| 一区二区三区四区国产| 欧美亚洲尤物久久| 国产亚洲欧美一区二区| 久久久精品2019中文字幕神马| 小黄鸭视频精品导航| 国产视频自拍一区| 久久久综合网| 亚洲欧洲日本国产| 亚洲一区二区三区三| 国产精品日韩精品欧美在线| 欧美有码视频| 亚洲电影在线| 亚洲欧美成人一区二区在线电影| 国产精品一区=区| 久久免费精品视频| 日韩一级精品| 久久久www成人免费精品| 亚洲欧洲日产国产综合网| 欧美精品亚洲一区二区在线播放| 亚洲天堂成人| 老司机免费视频久久| 亚洲精品一区在线观看香蕉| 国产精品久久久999| 久久久99久久精品女同性 | 在线视频中文亚洲| 国产三级精品在线不卡| 欧美大胆成人| 亚洲国产精品久久久久婷婷老年 | 免费观看成人www动漫视频| 亚洲片在线资源| 欧美一区二区三区啪啪| 亚洲国产美女| 国产女人18毛片水18精品| 久久综合色天天久久综合图片| 亚洲毛片一区| 免费试看一区| 欧美一区=区| 99精品视频一区| 黄色在线成人| 国产精品视频第一区| 欧美国产精品日韩| 久久精品女人| 亚洲欧美中文字幕| 夜夜爽www精品| 欧美激情中文字幕乱码免费| 久久精品成人| 亚洲女性裸体视频| 亚洲精品综合精品自拍| 悠悠资源网亚洲青| 国产精品专区h在线观看| 欧美日韩精品二区第二页| 久久婷婷成人综合色| 午夜欧美大片免费观看| 在线视频你懂得一区二区三区| 欧美1区视频| 久久亚洲私人国产精品va媚药| 亚洲专区国产精品| 一本一道久久综合狠狠老精东影业 | 欧美韩日亚洲| 久久在线视频在线| 久久久人成影片一区二区三区观看 | 久久综合色播五月| 久久久久成人精品| 欧美在线观看www| 欧美一区二区女人| 午夜精品免费在线| 先锋影音一区二区三区| 亚洲综合精品四区| 亚洲在线观看免费| 亚洲欧美成人一区二区三区| 亚洲一区二区三区四区中文| 亚洲色在线视频| 亚洲在线中文字幕| 午夜精品久久久99热福利| 亚洲欧美日本另类| 午夜久久黄色| 久久精品亚洲热| 老鸭窝毛片一区二区三区| 鲁大师成人一区二区三区| 欧美成人在线免费观看| 欧美激情精品久久久| 欧美日韩精品免费观看视一区二区| 欧美伦理a级免费电影| 欧美日韩黄色大片| 国产欧美日本| 亚洲你懂的在线视频| 亚洲欧洲99久久| 久久久999国产| 欧美激情在线有限公司| 欧美视频在线看| 国产在线播放一区二区三区| 精品91视频| 在线视频免费在线观看一区二区| 亚洲一区不卡| 久久婷婷久久| 亚洲人成在线播放| 国产精品免费区二区三区观看| 亚洲欧洲一区二区三区久久| 亚洲高清三级视频| 亚洲最新在线| 久久国产精品一区二区三区| 久热精品视频在线观看一区| 欧美日韩亚洲一区二区三区在线| 国产精品综合视频| 亚洲精品色图| 久久久久久久综合| 91久久精品久久国产性色也91| 亚洲午夜电影网| 免费在线亚洲欧美| 国产精品网站在线观看| 亚洲国产精品国自产拍av秋霞| 亚洲一区二区三区在线视频| 久热精品在线视频| 亚洲视频在线观看视频| 久久婷婷综合激情| 国产精品日本精品| 中国av一区| 欧美不卡三区| 香蕉久久一区二区不卡无毒影院| 欧美国产日韩视频| 国内精品久久久久久久影视蜜臀| 亚洲一区综合| 亚洲日本免费| 欧美成人官网二区| 精品av久久707|