table_util table相关
function M.is_loop_table(check_table,is_route)
描述
检测表是否有环引用
参数
- check_table table 目标表
- is_route boolean 是否需要返回环路径
返回值
- boolean 是否出现环引用
- string|nil 环路径
- string|nil 环路径
function M.dump(tab)
描述
不会死循环的表dump
参数
- tab table 目标表
返回值
- string dump后的内容
function M.check_def_table(new_t,old_t)
描述
检测2张表有什么同 共有4种不同 类型不同:typedef 相对于old_t有新增: add 相对于old_t有删除: reduce 值不同:valuedef
参数
- new_t table 新表
- old_t table 旧表
返回值
- table 不同的描述信息
function M.def_tostring(def)
描述
把check_def_table返回值转换成string
参数
- def table check_def_table返回值
返回值
- string string格式
function M.update_tab_by_def(def,old_t,change_flags)
描述
根据check_def_table的结果去更新旧值,change_flags表面哪些flag需要更新成新值
参数
- def table check_def_table返回值
- old_t table 旧表
- change_flags table 需要更新的flags 可选 typedef add reduce valuedef
返回值
- table 更新后的表
function M.sort_ipairs(t,comp)
描述
通用的排序后遍历 对比v
参数
- t table 需要排序的表
- comp function|nil 比较函数
返回值
- function 遍历函数
function M.sort_ipairs_byk(t,comp)
描述
通用的排序后遍历 对比k
参数
- t table 需要排序的表
- comp function|nil 比较函数
返回值
- function 遍历函数
function M.table_to_luafile(mode,tab)
描述
table转成lua文件格式的string
参数
- mode string G表示全局模式 M表示模块模式
返回值
- string 转换后的string
function M.kvsortipairs(map)
描述
map按 字符编码顺序排序后遍历
参数
- map table 遍历的表
返回值
- function 遍历函数
function M.deep_copy(orig)
描述
深拷贝(考虑原表情况)
参数
- orig table
返回值
- table 拷贝后的表
function M.copy(tab)
描述
拷贝(不考虑原表)
参数
- tab table 表
返回值
- table 拷贝后的表
function M.depth_to_list(tab, depth)
描述
按深度元素转成list
参数
- tab table 原数据
- depth number 转换深度
返回值
- table 转换结果表
function M.inlist(list, v)
描述
是否在列表中
参数
- list table 列表
- v any 值
返回值
- boolean 结果
function M.find_index(list, v, index)
描述
查找在表中的位置
参数
- list table 列表
- v any 值
- index number 起始索引
返回值
- number|nil 存在返回目标位置,不存在返回nil
function M.merge(target, source)
描述
合并table (source合并进入target)
参数
- tab table 表
- target table 目标表
- source table 来源表
返回值
- number 长度
table_util table相关
https://huahua132.github.io/2024/06/29/skynet_fly_api_word/utils/table_util/