Lua 面试题 目录

Lua 的 table 库提供了哪些函数?

推荐答案

Lua 的 table 库提供了以下常用函数:

  1. table.concat(table [, sep [, i [, j]]])
    将表中的元素连接成一个字符串,sep 是分隔符,ij 是起始和结束索引。

  2. table.insert(table, [pos,] value)
    在表的指定位置插入一个元素。如果未指定位置,则默认插入到表的末尾。

  3. table.remove(table [, pos])
    移除表中指定位置的元素并返回该元素。如果未指定位置,则默认移除最后一个元素。

  4. table.sort(table [, comp])
    对表中的元素进行排序,comp 是一个可选的比较函数。

  5. table.pack(...)
    将传入的参数打包成一个表,并自动添加一个 n 字段表示元素个数。

  6. table.unpack(table [, i [, j]])
    将表中的元素解包为多个返回值,ij 是起始和结束索引。

  7. table.move(a1, f, e, t [, a2])
    将表 a1 中从索引 fe 的元素移动到表 a2 的索引 t 处。如果未提供 a2,则默认为 a1


本题详细解读

1. table.concat

table.concat 用于将表中的元素连接成一个字符串。它特别适合处理字符串数组。例如:

  • sep 是可选的分隔符,默认为空字符串。
  • ij 是可选参数,用于指定连接的起始和结束索引。

2. table.insert

table.insert 用于在表中插入元素。例如:

  • 如果未指定位置,则默认插入到表的末尾。

3. table.remove

table.remove 用于移除表中的元素。例如:

  • 如果未指定位置,则默认移除最后一个元素。

4. table.sort

table.sort 用于对表中的元素进行排序。例如:

  • comp 是一个可选的比较函数,用于自定义排序规则。

5. table.pack

table.pack 用于将多个参数打包成一个表。例如:

  • 返回的表会自动包含一个 n 字段,表示元素个数。

6. table.unpack

table.unpack 用于将表中的元素解包为多个返回值。例如:

  • ij 是可选参数,用于指定解包的起始和结束索引。

7. table.move

table.move 用于将表中的元素从一个位置移动到另一个位置。例如:

  • 如果未提供目标表 a2,则默认为源表 a1
纠错
反馈