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

隨筆 - 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>
              久久久久国产精品午夜一区| 在线观看亚洲一区| 亚洲四色影视在线观看| 亚洲精品自在久久| 欧美极品色图| 一区二区三区国产在线| 91久久香蕉国产日韩欧美9色| 久久一区二区三区av| 亚洲精品少妇| 中文国产一区| 国产一区二区三区久久久久久久久 | 欧美精品色综合| 国产一区自拍视频| 亚洲男女自偷自拍图片另类| 亚洲一区二区三区在线看| 国产日韩亚洲欧美| 欧美高清成人| 国产精品久久久久7777婷婷| 久久久久一本一区二区青青蜜月| 毛片基地黄久久久久久天堂| 一区二区日韩伦理片| 欧美亚洲网站| 日韩图片一区| 欧美亚洲免费电影| 亚洲精品久久久久久久久久久久| 亚洲私人黄色宅男| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品久久久久久久久久久久久| 国产精品乱码一区二三区小蝌蚪 | 亚洲黄色在线观看| 亚洲一级一区| 亚洲精品在线一区二区| 午夜精品免费视频| 亚洲精品欧美极品| 欧美专区亚洲专区| 亚洲一区二区影院| 免费国产一区二区| 久久精品国产免费观看| 欧美日韩精品在线| 免费日韩成人| 国产精品区一区二区三区| 欧美激情bt| 狠狠色综合网| 亚洲女女做受ⅹxx高潮| 亚洲九九精品| 免费看亚洲片| 免费观看日韩av| 国产在线精品二区| 亚洲一区二区三| 一区二区电影免费在线观看| 久久这里只有精品视频首页| 久久久久久亚洲精品中文字幕| 国产精品亚洲片夜色在线| 最新成人av网站| 亚洲国产婷婷香蕉久久久久久| 久久久久久国产精品mv| 久久久水蜜桃| 狠狠久久综合婷婷不卡| 欧美一区激情视频在线观看| 欧美一级夜夜爽| 国产精品视频成人| 亚洲尤物视频在线| 性色av一区二区三区在线观看 | 欧美日韩第一区| 亚洲日本视频| 夜夜嗨av一区二区三区四区| 欧美高清视频在线| 亚洲电影免费在线观看| 91久久精品国产91久久性色| 久久夜色精品国产亚洲aⅴ| 久久综合九色九九| 国外成人在线视频| 久久精品国产久精国产爱| 欧美性视频网站| 欧美亚洲一区二区三区| 一二三区精品| 欧美视频一区| 亚洲综合色在线| 久久久久久久综合日本| 亚洲电影第1页| 欧美高清视频免费观看| 日韩视频免费在线观看| 亚洲男人影院| 国产亚洲欧美一区二区三区| 久久一区二区三区四区五区| 最新国产の精品合集bt伙计| 亚洲最新色图| 国产欧美日韩麻豆91| 久久久久se| 亚洲精品久久久久| 欧美一区二区性| 亚洲动漫精品| 欧美午夜视频网站| 久久人人爽人人| 日韩系列在线| 久久亚洲精品一区| 一区二区三区.www| 国产一区二区三区免费不卡| 美女视频网站黄色亚洲| 亚洲午夜精品一区二区| 久久综合一区二区| 制服丝袜激情欧洲亚洲| 国产欧美一区二区三区沐欲| 欧美1区2区视频| 亚洲免费在线电影| 亚洲高清在线播放| 欧美一区二区三区免费观看视频| 1024成人网色www| 国产精品久久久久久久久久久久| 久久久久亚洲综合| 中文av一区二区| 欧美激情在线观看| 久久精品官网| 亚洲一区国产| 亚洲人成毛片在线播放| 韩国亚洲精品| 国产精品欧美精品| 欧美另类在线观看| 久久久综合网站| 午夜欧美精品久久久久久久| 亚洲欧洲视频在线| 欧美v国产在线一区二区三区| 午夜影院日韩| 亚洲香蕉视频| 亚洲免费电影在线| 亚洲激情在线观看视频免费| 国产一区免费视频| 国产视频观看一区| 国产精品乱人伦中文| 欧美激情中文字幕乱码免费| 久久精品欧美日韩| 久久av资源网| 午夜精品视频在线观看| 亚洲天堂av综合网| 一本色道久久加勒比88综合| 欧美国产一区二区在线观看| 久久一二三四| 久久综合亚州| 美日韩精品免费观看视频| 久久天天狠狠| 欧美成人免费视频| 欧美成人精品激情在线观看 | 日韩午夜剧场| 亚洲另类一区二区| 亚洲欧美日韩一区二区三区在线| 亚洲国产裸拍裸体视频在线观看乱了| 久久精品二区三区| 美女网站久久| 久久久久国内| 欧美午夜精品一区| 欧美视频在线视频| 欧美午夜精品| 国产午夜久久久久| 精品999网站| 91久久线看在观草草青青| 亚洲精品欧洲| 亚洲一区国产一区| 欧美亚洲一区二区三区| 久久久999精品免费| 免费日韩成人| 亚洲欧洲一二三| 一本色道久久综合精品竹菊 | 欧美一区二区三区在线观看视频| 欧美在线高清视频| 免费美女久久99| 欧美视频在线观看免费网址| 国产日韩欧美亚洲| 亚洲日本免费电影| 亚洲网址在线| 久久视频精品在线| 亚洲高清毛片| 亚洲免费一级电影| 久久手机免费观看| 欧美日韩免费在线| 国产一区二区三区日韩| 亚洲人成精品久久久久| 亚洲免费在线视频| 免费黄网站欧美| 中文国产亚洲喷潮| 美日韩精品免费观看视频| 欧美日韩中国免费专区在线看| 国产日韩欧美在线观看| 亚洲人成亚洲人成在线观看图片 | 亚洲午夜女主播在线直播| 欧美在线观看你懂的| 91久久精品一区二区三区| 午夜精品免费| 欧美日韩亚洲综合在线| 在线观看欧美日本| 亚洲欧美日韩在线播放| 欧美激情2020午夜免费观看| 亚洲伊人伊色伊影伊综合网| 狼人天天伊人久久| 国产欧美精品日韩区二区麻豆天美 | 久久综合久久久| 国产精品久久久久久久久久久久久久 | 伊人成综合网伊人222| 亚洲综合精品自拍| 亚洲欧洲午夜| 牛夜精品久久久久久久99黑人|