首页 > 其他分享 >Lua 语法之迭代器

Lua 语法之迭代器

时间:2024-07-27 23:39:33浏览次数:9  
标签:pairs 遍历 迭代 .. 索引 -- ipairs 语法 Lua

迭代器

主要是用来遍历表的

两个迭代器区别

# ipairs pairs
索引必须数字且连续 索引必须数字且连续 索引可以随意
从1开始到nil 从1开始到nil 从1开始到无其他索引
字符索引不识别 字符索引不识别 字符索引识别
关键字 ipairs
 -- # 得到长度 其实并不准确 一般不要用 # 来遍历表

 -- 遍历不全

 a={[0]=1,2,[-1]=3,4,5,[6]=6}


 print("***********ipairs************")
 --ipairs 

 --ipairs 遍历 还是 从1 开始往后遍历的 小于等于0 的值得不到

 -- 只能找到连续索引的 键 如果中间断序了 它也无法遍历出后面的内容

 -- 遍历不全

 -- 在我测试时发现甚至不如 # (以前功能应该差不多)

 for i,k in ipairs(a) do
 	print("ipairs 遍历键值" ..i.."_"..k)
 end
关键字 pairs
-- pairs 它能把所有的键都找到 通过键可以得到值 !!!所有

-- 推荐使用 

 for i,v in pairs(a) do
 	print("pairs 遍历键值" ..i.."_"..v)
 end

for i in pairs(a) do
	print("pairs 遍历键"..i)
end

标签:pairs,遍历,迭代,..,索引,--,ipairs,语法,Lua
From: https://www.cnblogs.com/Luo-Xi/p/18327721

相关文章

  • python基本语法三天速成系列day1(看完这篇你就会)
    注释注释是代码非常重要的一部分,它的主要作用有:解释代码目的:注释可以说明代码段或函数的目的和功能,帮助其他开发者快速理解代码的意图。复杂逻辑说明:对于复杂的算法或业务逻辑,通过注释可以解释这些逻辑是如何工作的,降低后续维护的难度。提高可读性:良好的注释可以使代码结......
  • Lua 语法_复杂类型表____数组与二维数组
    复杂数据类型Lua所有的复杂类型都是table(表)数组如何用Luatable(表)实现数组--lua表中没有具体的限制可以是数值,字符串,布尔值a={1,2,3,4,"洛溪",true,nil}--Lua中默认索引从1开始0如果没有自定义索引则为空nilprint(a[0])--#号时用的获取长度的关键字--......
  • Python 教程(二):语法与数据结构
    目录前言专栏列表语法特点实例代码基本数据类型变量命名规则赋值动态类型作用域示例代码运算符`list`、`set`和`dict`数据结构区别1.list(列表)2.set(集合)3.dict(字典)总结前言Python是一种计算机编程语言。每种编程语言都有自己的语法规则。在本教程中,我们将学......
  • java 基本语法3
    1.方法的定义格式如:publicstaticvoidadd(intx,inty){returnx+y;}java的方法感觉就是c中的函数,子例程。但java是一个面向对象的语言,它的每一个方法都在类中,其中由于主方法的格式:publicstaticvoidmain(String[]args){},所以他只能调用静态的成员,所以在方法中也应该用......
  • MySQL的DDL和DML操作语法
    一、SQL分类SQL,英文:StructuredQueryLanguage,结构化查询语言。是用于操作关系型数据库的编程语言。SQL定义操作所有关系型数据库的统一标准,可以使用SQL操作所有的关系型数据库管理系统,以后工作中如果使用到了其他的数据库管理系统,也同样的使用SQL来操作。......
  • Java基础语法(变量)
    +号的使用在Java中,如果在一个运算表达式中,从左往右只要有一方是字符串,那么后续的运算就会被视为字符串的拼接运算。一、基本数据类型整数类型byte:占用1个字节(8位)。取值范围:-128到127。示例:byteb=10;short:占用2个字节(16位)。取值范围:-32768到32......
  • 18 双周迭代模式(3)
            前面几篇了解了敏捷开发的实践以及敏捷迭代管理,Scrum敏捷中,建议是2~4周一个迭代周期,较为广泛应用的是双周迭代模式,即两周完成一个迭代周期,一个迭代周期是指,软件开发到上线的时间。        在研发人员还在开发当前迭代的功能时,产品经理就规划好下一个迭......
  • SLS 数据加工全面升级,集成 SPL 语法
    作者:灵圣数据加工概述在系统开发、运维过程中,日志是最重要的信息之一,其最大的优点是简单直接。不过在整个日志的生命周期里有一对很难调和的矛盾:输出和采集日志要求尽可能的简单便捷vs日志分析时需要数据格式化并能够按需存储。为了解决前者,保证服务的稳定和效率,提出了不同......
  • lua 游戏架构 之 游戏 AI (八)ai_tbl 行为和优先级
    定义一系列的AI行为类型和它们的优先级,以及一个映射表`ai_tbl`来关联每种AI行为类型与对应的脚本文件和优先级。以下是对代码的详细解释:lua游戏架构之游戏AI(一)ai_base-CSDN博客https://blog.csdn.net/heyuchang666/article/details/140624481?spm=1001.2014.3001.5501lua......
  • lua 游戏架构 之 游戏 AI (九)ai_mgr Ai管理
    定义`ai_mgr`的类,用于管理游戏中实体的AI组件。先定义AI行为枚举和优先级: lua游戏架构之游戏AI(八)ai_tbl行为和优先级-CSDN博客https://blog.csdn.net/heyuchang666/article/details/140712839?spm=1001.2014.3001.5501lua游戏架构之游戏AI(一)ai_base-CSDN博客htt......