推荐答案
Lua 的 table 库提供了以下常用函数:
table.concat(table [, sep [, i [, j]]])
将表中的元素连接成一个字符串,sep是分隔符,i和j是起始和结束索引。table.insert(table, [pos,] value)
在表的指定位置插入一个元素。如果未指定位置,则默认插入到表的末尾。table.remove(table [, pos])
移除表中指定位置的元素并返回该元素。如果未指定位置,则默认移除最后一个元素。table.sort(table [, comp])
对表中的元素进行排序,comp是一个可选的比较函数。table.pack(...)
将传入的参数打包成一个表,并自动添加一个n字段表示元素个数。table.unpack(table [, i [, j]])
将表中的元素解包为多个返回值,i和j是起始和结束索引。table.move(a1, f, e, t [, a2])
将表a1中从索引f到e的元素移动到表a2的索引t处。如果未提供a2,则默认为a1。
本题详细解读
1. table.concat
table.concat 用于将表中的元素连接成一个字符串。它特别适合处理字符串数组。例如:
local t = {"a", "b", "c"}
print(table.concat(t, ", ")) -- 输出: a, b, csep是可选的分隔符,默认为空字符串。i和j是可选参数,用于指定连接的起始和结束索引。
2. table.insert
table.insert 用于在表中插入元素。例如:
local t = {1, 2, 3}
table.insert(t, 2, 10) -- 在索引 2 处插入 10
print(table.concat(t, ", ")) -- 输出: 1, 10, 2, 3- 如果未指定位置,则默认插入到表的末尾。
3. table.remove
table.remove 用于移除表中的元素。例如:
local t = {1, 2, 3}
table.remove(t, 2) -- 移除索引 2 处的元素
print(table.concat(t, ", ")) -- 输出: 1, 3- 如果未指定位置,则默认移除最后一个元素。
4. table.sort
table.sort 用于对表中的元素进行排序。例如:
local t = {3, 1, 2}
table.sort(t)
print(table.concat(t, ", ")) -- 输出: 1, 2, 3comp是一个可选的比较函数,用于自定义排序规则。
5. table.pack
table.pack 用于将多个参数打包成一个表。例如:
local t = table.pack(1, 2, 3) print(t.n) -- 输出: 3
- 返回的表会自动包含一个
n字段,表示元素个数。
6. table.unpack
table.unpack 用于将表中的元素解包为多个返回值。例如:
local t = {1, 2, 3}
local a, b, c = table.unpack(t)
print(a, b, c) -- 输出: 1 2 3i和j是可选参数,用于指定解包的起始和结束索引。
7. table.move
table.move 用于将表中的元素从一个位置移动到另一个位置。例如:
local t1 = {1, 2, 3}
local t2 = {}
table.move(t1, 1, 3, 1, t2)
print(table.concat(t2, ", ")) -- 输出: 1, 2, 3- 如果未提供目标表
a2,则默认为源表a1。