當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Lua table.pack()用法及代碼示例

當我們想返回一個表作為傳遞給函數的多個值的結果時,我們使用table.pack()函數。這table.pack()函數是一個可變參數函數。

用法

table.pack(x,y,z,....)

示例

這個table.pack()函數提供了一個表格,其中包含作為參數傳遞給它的所有值,請考慮下麵顯示的示例 -

a = table.pack(1,2,3)
print(a)
print(a.n)

在上麵的例子中,我們傳遞了三個數字給table.pack()函數作為參數,然後我們打印返回值,即,它將保存包含我們作為參數傳遞的值的表的地址,最後我們打印表中存在的元素數量n 關鍵字的幫助。

輸出

table:0x13998b0
3

應該注意的是,當我們將值作為參數傳遞時,會在表中添加一個附加字段,通常是這樣的 -

{n = “number of elements in table”}

然後,我們也可以使用這個 n。現在讓我們使用泛型for循環打印從表中返回的所有元素table.pack()函數。

示例

考慮下麵顯示的例子 -

local a = table.pack(10,20,30)
for _, v in pairs(a) do print(v) end

輸出

10
20
30
3

如果我們仔細查看輸出,我們可以清楚地看到最後一個輸出編號本質上是n這是 Lua 添加到表中的。

我們還可以按照下麵顯示的代碼檢查返回的表的返回類型 -

print(type(table.pack(1,2,3)))

輸出

table

相關用法


注:本文由純淨天空篩選整理自Mukul Latiyan大神的英文原創作品 table.pack() function in Lua programming。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。