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)

在上面的例子中,我们将三个数字作为参数传递给函数,然后我们打印返回值,即,它将保存包含我们作为参数传递的值的表的地址,最后我们打印在 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