當我們想返回一個表作為傳遞給函數的多個值的結果時,我們使用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
相關用法
- Lua table.unpack()用法及代碼示例
- Lua string.char()用法及代碼示例
- Lua string.gsub()用法及代碼示例
- Lua string.byte()用法及代碼示例
- Lua io.popen()用法及代碼示例
- Lua string.lower()用法及代碼示例
- Lua string.format()用法及代碼示例
- Lua string.upper()用法及代碼示例
- Lua math.modf()用法及代碼示例
- Lodash _.isValidDate()用法及代碼示例
- Lodash _.isInteger()用法及代碼示例
- Lodash _.sampleSize()用法及代碼示例
- Lodash _.fromQuery()用法及代碼示例
- Lodash _.noConflict()用法及代碼示例
- Lodash _.Intersection()用法及代碼示例
- Lodash _.values()用法及代碼示例
- Less isstring()用法及代碼示例
- Lodash _.isLength()用法及代碼示例
- Lodash _.third()用法及代碼示例
- Lodash _.negate()用法及代碼示例
注:本文由純淨天空篩選整理自Mukul Latiyan大神的英文原創作品 table.pack() function in Lua programming。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。