模块 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)
-
使用分隔符将字符串分割为表格
参数:
- save (tbl, filename)
-
将表格保存到磁盘。
保存表格、数字、布尔值和字符串。
保存内部表格引用。
不保存用户数据、元表、函数和这些的索引。
基于 ChillCode 的 http://lua-users.org/wiki/SaveTableToFile。
参数:
返回:
-
失败时返回错误消息。
- 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 值被忽略
参数:
返回:
-
table
复合表格
- update (table_to_mutate, updated_values)
-
修改第一个表格,从第二个表格更新值。
第二个表格中的新键将添加到第一个表格中。
updated_values 中的 nil 值被忽略
参数:
返回:
-
table
复合表格
- select_values (tbl, condition)
-
创建一个新表格,包含通过提供的函数测试的所有值。
参数:
- tbl table 要检查的表格
- condition 测试提供的表格所有值的回调函数,将值和键作为参数传递
返回:
-
table
通过测试的值的表格