当我们想返回一个表作为传递给函数的多个值的结果时,我们使用该函数。该函数是一个可变参数函数。table.pack()table.pack()
table.pack(x,y,z,....)
该函数提供了一个表格,其中包含作为参数传递给它的所有值,请考虑下面显示的示例 -table.pack()
a = table.pack(1,2,3) print(a) print(a.n)
在上面的例子中,我们将三个数字作为参数传递给函数,然后我们打印返回值,即,它将保存包含我们作为参数传递的值的表的地址,最后我们打印在 n 关键字的帮助下,表中存在的元素数。table.pack()
输出结果
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
如果我们仔细查看输出,我们可以清楚地看到最后输出的数字基本上是 Lua 添加到表中的n。
我们还可以按照下面显示的代码检查返回的表的返回类型 -
print(type(table.pack(1,2,3)))输出结果
table