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))) -- 92print 接收三个参数,所以会在同一行打印它们,并在它们之间用制表符分隔。math.max 需要的是单独的数字,而不是数组,所以展开数组才能让这次调用正常运行。
table.unpack 会读取数组,但不会修改它。反过来,使用 ... 接收任意数量参数的函数,将在下一章的“可变参数函数”课中介绍。
挑战
简单将数组中的分数展开为单独的值。
- 声明
local scores: {number} = {64, 88, 71}。 - 打印
table.unpack(scores)。 - 打印
math.max(table.unpack(scores))。
按下运行代码:输出会在一行显示 64 88 71,然后显示 88。
亲手试试
-- 1)声明 scores:{number} = {64, 88, 71}
-- 2)打印解包后的 scores,再打印它们的 math.max
Luau 入门中的所有课
自己练习: Luau 在线编译器