例項講解Lua中pair和ipair的區別

2022-09-26 18:33:15 字數 796 閱讀 6481

採用pair:

複製** **如下:

function print_contents(pa程式設計客棧rams) 

for k, v in pairs(params) do 

print(k, "  ", v) 

end 

end 

print_contents() 

採用inpari:

複製** **如下:

local tt =   

for i,v in ipairs(tt) do    -- 輸出 "test3" k=2時斷開  ,因為陣列的下表沒有連續,i是從下表1開始,剛好三個元素,導致i = 3的時候已經輸出完畢 

print( tt[i] )   

end    

下面在才用ipair,陣列連續的情況下,全部輸出:

複製** **如下:

function print_inpaircontents(params) 

for k, v in ipairs(params) do 

print(v) 

end 

end 

local temp_table =  

print_inpaircontents(temp_table) 

pairs()可以遍歷整個table,即包括陣列及非陣列部分。

ipairs()函式用於遍歷table中的陣列部分。

本文標題: 例項講解lua中pair和ipair的區別

本文位址: /jiaoben/lua/123252.html

Lua中數字for迴圈例項

看以下 複製 如下 for i 1,2 do print i i 3 end 輸出是什麼?如果習慣了c c 語言,會覺得因為改變了控制變數i為3,所以在執行第二次迴圈體之前判斷不通過,所以輸出是1。但結果輸出是1和2,即雖然改變了i,但迴圈還是執行了2次。這是為什麼呢?看了lua的源 發現在語法分析...

Lua中數字for迴圈例項

看以下 複製 如下 for i 1,2 do print 程式設計客棧i i 3 end 程式設計客棧 輸出是什麼?如果習慣了c c 語言,會覺得因為改變了控制變數i為3,所以在執行第二次迴圈體之前判斷不通過,所以輸出是1。但結果輸出是1和2,即雖然改變了i,但迴圈還是執行了2次。這是為什麼呢?看了...

Python中logging例項講解

logging 的基本用法網上很多,這裡就不介紹了。在引入正文之前,先來看乙個需求 假設需要將某功能封裝成類庫供他人使用,如何處理類庫中的日誌?數年前在乙個 c 開發的專案中,我用程式設計客棧了這樣的方法 定義乙個 logging 基類,所有需要用到日誌的類都繼承這個基類,這個基類中定義乙個 log...