模块 lib.tabutil

表格工具

norns 脚本参考 中提供了该模块的示例。

函数

print (t) 打印表格的内容
sort (t) 返回表格键的字典序排序数组
count (t) 计算表格中的条目数量; 与 table.getn() 或 #table 不同,nil 条目不会中断循环
contains (t, e) 在表格中搜索元素
invert (t) 给定一个简单的基本类型表格, "反转"它,使值成为键,键成为值。
key (t, e) 在表格中搜索元素,返回键
lines (str) 将多行字符串分割为字符串表格
split (inputstr, sep) 使用分隔符将字符串分割为表格
save (tbl, filename) 将表格保存到磁盘。
load (sfile) 加载通过 tab.save() 函数保存的表格。
readonly (params) 为给定表格创建只读代理。
gather (default_values, custom_values) 返回新表格,收集值: - 首先来自 default_values, - 然后来自(即
update (table_to_mutate, updated_values) 修改第一个表格,从第二个表格更新值。
select_values (tbl, condition) 创建一个新表格,包含通过提供的函数测试的所有值。


函数

print (t)
打印表格的内容

参数:

  • t table 要打印的表格
sort (t)
返回表格键的字典序排序数组

参数:

  • t table 要排序的表格

返回:

    table 排序后的表格
count (t)
计算表格中的条目数量; 与 table.getn() 或 #table 不同,nil 条目不会中断循环

参数:

  • t table 要计数的表格

返回:

    number 计数
contains (t, e)
在表格中搜索元素

参数:

  • t table 要检查的表格
  • e 要查找的元素

返回:

    boolean 真/假表示元素是否存在
invert (t)
给定一个简单的基本类型表格, "反转"它,使值成为键,键成为值。 这允许对多个值进行更高效的检查

参数:

  • t 一个简单表格
key (t, e)
在表格中搜索元素,返回键

参数:

  • t table 要检查的表格
  • e 要查找的元素

返回:

    键,如果未找到则为 nil
lines (str)
将多行字符串分割为字符串表格

参数:

  • str string 带换行符的字符串

返回:

    table 每行一个条目的表格
split (inputstr, sep)
使用分隔符将字符串分割为表格

参数:

  • inputstr string :要分割的字符串
  • sep string :分隔符
save (tbl, filename)
将表格保存到磁盘。 保存表格、数字、布尔值和字符串。 保存内部表格引用。 不保存用户数据、元表、函数和这些的索引。 基于 ChillCode 的 http://lua-users.org/wiki/SaveTableToFile。

参数:

  • tbl table 要保存的表格。
  • filename string 保存位置。

返回:

    失败时返回错误消息。
load (sfile)
加载通过 tab.save() 函数保存的表格。

参数:

  • sfile string 要加载的文件名或字符串表格。

返回:

    成功时返回之前保存的表格。失败时返回错误消息作为第二个参数。
readonly (params)
为给定表格创建只读代理。

参数:

  • params params.table 是要代理的表格,params.except 是可写键的列表,params.expose 限制从 params.table 暴露哪些键(可选)

返回:

    table 代理的只读表格
gather (default_values, custom_values)
返回新表格,收集值: - 首先来自 default_values, - 然后来自(即被覆盖)custom_values custom_values 中的 nil 值被忽略

参数:

  • default_values table 基础值(提供键和回退值)
  • custom_values table 覆盖值(优先)

返回:

    table 复合表格
update (table_to_mutate, updated_values)
修改第一个表格,从第二个表格更新值。 第二个表格中的新键将添加到第一个表格中。 updated_values 中的 nil 值被忽略

参数:

  • table_to_mutate table 要修改的表格
  • updated_values table 覆盖值(优先)

返回:

    table 复合表格
select_values (tbl, condition)
创建一个新表格,包含通过提供的函数测试的所有值。

参数:

  • tbl table 要检查的表格
  • condition 测试提供的表格所有值的回调函数,将值和键作为参数传递

返回:

    table 通过测试的值的表格
由 LDoc 1.5.0 生成 最后更新于 2025-04-06 15:35:25