




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LUA 中中的的 TABLE 函函数数库库 Posted on 2009 08 10 20 43 白耘 阅读 1982 评论 0 编辑 收藏 所属分类 Lua 学习笔记 一部分的 table 函数只对其数组部分产生影响 而另一部分则对整个 table 均产生影响 下面会分开说明 table concat table sep start end concat 是 concatenate 连锁 连接 的缩写 table concat 函数列出参数中指定 table 的数组部分从 start 位置到 end 位置的所有元素 元素间以指定的分隔符 sep 隔 开 除了 table 外 其他的参数都不是必须的 分隔符的默认值是空字符 start 的默认 值是 1 end 的默认值是数组部分的总长 sep start end 这三个参数是顺序读入的 所以虽然它们都不是必须参数 但如果要指 定靠后的参数 必须同时指定前面的参数 tbl alpha beta gamma print table concat tbl alpha beta gamma print table concat tbl nil 1 2 alphabeta print table concat tbl n 2 3 beta gamma table insert table pos value table insert 函数在 table 的数组部分指定位置 pos 插入值为 value 的一个元素 pos 参数可选 默认为数组部分末尾 tbl alpha beta gamma table insert tbl delta table insert tbl epsilon print table concat tbl alpha beta gamma delta epsilon table insert tbl 3 zeta print table concat tbl alpha beta zeta gamma delta epsilon table maxn table table maxn 函数返回指定 table 中所有正数 key 值中最大的 key 值 如果不存在 key 值为正数的元素 则返回 0 此函数不限于 table 的数组部分 tbl 1 a 2 b 3 c 26 z print tbl 3 因为 26 和之前的数字不连续 所以不算在数组部分内 print table maxn tbl 26 tbl 91 32 true print table maxn tbl 91 32 table remove table pos table remove 函数删除并返回 table 数组部分位于 pos 位置的元素 其后的元素会 被前移 pos 参数可选 默认为 table 长度 即从最后一个元素删起 table sort table comp table sort 函数对给定的 table 进行升序排序 tbl alpha beta gamma delta table sort tbl print table concat tbl alpha beta delta gamma comp 是一个可选的参数 此参数是一个外部函数 可以用来自定义 sort 函数的排序标 准 此函数应满足以下条件 接受两个参数 依次为 a b 并返回一个布尔型的值 当 a 应 该排在 b 前面时 返回 true 反之返回 false 例如 当我们需要降序排序时 可以这样写 sortFunc function a b return b table sort tbl sortFunc print table concat tbl gamma delta beta alpha 用类似的原理还可以写出更加复杂的排序函数 例如 有一个 table 存有工会三名成员 的姓名及等级信息 guild table insert guild name Cladhaire class Rogue level 70 table insert guild name Sagart class Priest level 70 table insert guild name Mallaithe class Warlock level 40 对这个 table 进行排序时 应用以下的规则 按等级升序排序 在等级相同时 按姓名 升序排序 可以写出这样的排序函数 function sortLevelNameAsc a b if a level b level then return a name b name else return a level table sort guild sortLevelNameAsc for idx value in ipairs guild do print idx value name end 1 Mallaithe 2 Cladhaire 3 Sagart table foreachi table function i v 会期望一个从 1 数字 1 开始的连续整数范围 遍历 table 中的 key 和 value 逐对进 行 function i v 操作 t1 2 4 6 language Lua version 5 8 10 12 web hello lua table foreachi t1 function i v print i v end 等价于 foreachi t1 print 输出结果 1 2 2 4 3 6 4 8 5 10 6 12 table foreach table function i v 与 foreachi 不同的是 foreach 会对整个表进行迭代 t1 2 4 6 language Lua version 5 8 10 12 web hello lua table foreach t1 function i v print i v end 输出结果 1 2 2 4 3 6 4 8 5 10 6 12 we
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年防爆安全培训试题及答案
- 房子银行抵押合同(标准版)
- 2024年油气设备专用件项目资金筹措计划书代可行性研究报告
- 2024年液体管道运输服务投资申请报告代可行性研究报告
- 2024年免疫抗疲劳保健品项目项目投资筹措计划书代可行性研究报告
- 2025年道路交通与交通规则知识考察试题及答案解析
- 湖北孝感市2025年中级银行业专业人员职业资格考试(专业实务公司信贷)在线自测试题库及答案
- 2025年城市轨道交通车辆基础考核试题(含答案)
- 2025年高二物理上学期周清检测(第十四周)
- 2025年气候变化对极地生态系统的长期影响
- 印刷厂生产报表编制细则
- 幼儿防触电安全知识培训课件
- 仪表阀门培训课件
- 《诗经·卫风·淇奥》课件
- ULK1:细胞代谢调控网络中的关键节点-自噬与糖代谢的分子机制及功能解析
- 2025年秋季学期“1530”安全教育记录表
- 智能交通诱导
- 妇幼健康项目课件
- 上级迎检管理制度
- 2025年危险货物水路运输从业人员考核试题
- 梯田文化课件七年级
评论
0/150
提交评论