Menu
CoddyTech

table.unpack

本课属于 Coddy Lua 学习旅程的“Luau 入门”单元。第 21 课,共 80 课。

有时,数组中有一些值,但你需要把它们作为单独的值使用:比如,将每个元素分别作为一个参数传入。这时就可以用 table.unpack:它会展开数组,返回其中的所有元素。

local scores: {number} = {85, 92, 78}
print(table.unpack(scores))           -- 85  92  78(同一行)
print(math.max(table.unpack(scores))) -- 92

print 接收三个参数,所以会在同一行打印它们,并在它们之间用制表符分隔。math.max 需要的是单独的数字,而不是数组,所以展开数组才能让这次调用正常运行。

table.unpack 会读取数组,但不会修改它。反过来,使用 ... 接收任意数量参数的函数,将在下一章的“可变参数函数”课中介绍。

challenge icon

挑战

简单

将数组中的分数展开为单独的值。

  1. 声明 local scores: {number} = {64, 88, 71}。
  2. 打印 table.unpack(scores)。
  3. 打印 math.max(table.unpack(scores))。

按下运行代码:输出会在一行显示 64 88 71,然后显示 88。

亲手试试

-- 1)声明 scores:{number} = {64, 88, 71}
-- 2)打印解包后的 scores,再打印它们的 math.max

Luau 入门中的所有课

自己练习: Luau 在线编译器