[lua]紫猫lua教程-命令宝典-L1-01-06. 循环结构
L1[循环]01. for循环结构介绍
只是简单的说了下计数型的for循环结构
for i=1,10,1 do
testlib.traceprint(i)
end
注意几点:
1.上面的1和10表示循环从1开始计数 到达10还在计数 超出10才会不循环 步长1
2 i这个变量是for循环内部的一个局部变量 离开了循环结构就失效了 而且 这个局部变量是非常特殊的 在for结构内我们人工修改这个i这个特殊的局部变量只能作用很小的范围
for i=1,10,1 do
testlib.traceprint(i) --这里依然按照for结构的顺序从1到10 没有受到下面i=999的任何影响 i=999--这里修改了i的默认的顺序的数值变为999
testlib.traceprint(i) --这里输出了999表示我们修改成功了
end
123
L1[循环]02. 嵌套for循环
只是说了循环嵌套 没什么说的 不过还是要说一下 for结构的特殊变量i 就算循环嵌套 都用同一个i这个变量名 也不会相互干扰
for i=1,10,1 do--两个循环的i没有相互冲突
testlib.traceprint("外循环的:" .. i)
for i=1,10,1 do--两个循环的i没有相互冲突
testlib.traceprint("==内循环的:" .. i)
end
end
L1[循环]03. goto注意事项
goto和标签配置的几个注意事项
1.goto和要跳到的标签 不能跨函数存在 就是说 goto和对应标签 要不都在同一个函数内 要不都在主代码里面 不能随便乱放
2 goto能起作用的范围一定是被标签起作用的范围包含覆盖 或者相等或者标签起作用的范围包含了goto能起作用的范围

3 goto和标签之间 不能包含声明变量 语句 养成一个 变量声明都放到函数开头 或者源代码开头的习惯 就不会遇到这个问题了
小知识:lua内没有continue这个函数 有的时候我们需要实现这个功能 如何实现呢 百度了下找到了大神写的代码
for i = 1, 10 do
repeat--这个repeat因为结束条件是true 所以必定指定也必定执行一次
if i == 5 then--这里是判断跳出这次循环的条件
break
end
print(i)--这里写循环主代码
until true
end
L1[循环]04. 累加计数
没什么可说的
L1[循环]05. while与repeat循环
local i=0
while (i<10) do --先判断后运行循环主体 如果条件不满足就跳出循环
print(i)
i=i+1
end
local i=0
repeat
print(i)
i=i+1
until(i>=10)--先运行主体再判断 而且如果满足条件就跳出循环 注意上面那个是条件不满足则跳出 这个是满足条件才跳出
L1[循环]06. 四种循环写法区别
[lua]紫猫lua教程-命令宝典-L1-01-06. 循环结构的更多相关文章
- [lua]紫猫lua教程-命令宝典-L1-01-03. 数值数据
lua5.3在线手册地址 https://cloudwu.github.io/lua53doc/contents.html#contents 其实我们直接啃手册就够了 推荐如果有基础的先啃手册再看紫 ...
- [lua]紫猫lua教程-命令宝典-L1-01-02. 变量
L1[变量]01. 变量命名规则 命名规则:数字字母下划线构成 但是不能数字开头 不推荐中文名 很多都是不支持中文 但是在一些其他的编辑器里面 比如触摸精灵 之类的 就可以 注意 :变量命名必须要包含 ...
- [lua]紫猫lua教程-命令宝典-L1-01-01. Lua环境与IDE
网上大把的lua教程 不过紫猫老师的教程向来都是讲的非常仔细 所以最近天气已经36+了 魔兽世界还需要冲飞行声望 懒得写单子根本没有单子,正好认认真真的看下紫猫老师的lua教程 紫猫老师的lua教 ...
- [lua]紫猫lua教程-命令宝典-L1-01-04. 字符串数据
L1[字符串]01. 单引号与双引号 没什么说得 字符串:以双引号包含 或者单引号包含 或者[[]]包含 L1[字符串]02. 长文本内容 小知识:如果用[[]]包含字符串内容 但是字符串内容里面 包 ...
- [lua]紫猫lua教程-命令宝典-L1-01-10. 自定义函数
L1[function]01. 定义与调用函数 函数的定义 和概念 没什么可说的 lua的函数声明和调用是有先后顺序的 先声明后调用 函数就是变量的一种 所以可以自由的把函数在变量间相互赋值 不过注 ...
- [lua]紫猫lua教程-命令宝典-L1-01-07. table表
L1[table]01. table表的定义与赋值 小知识:声明表的例子 xx={}--创建一个空表xx --给这表的元素赋值 test="a" xx[test]="a& ...
- [lua]紫猫lua教程-命令宝典-L1-01-05. if判断结构
L1[if]01. 简单的if判断结构 没什么说得 if得基本结构如下 xxx= ) then testlib.traceprint("1-100") ) then testlib ...
- [lua]紫猫lua教程-命令宝典-L1-03-01. 闭包
L1[闭包]01. 函数的传递赋值 没什么说的 1.函数作为变量来看 可以轻松的声明 相互赋值 2.函数变量本质是 一个内存指针 所以函数变量的相互赋值不是传递的函数本身 而是指向这个函数的内存地址 ...
- [lua]紫猫lua教程-命令宝典-L1-01-09. string字符串函数库
L1[string]01. ASCII码互转 小知识:字符串处理的几个共同的几点 1.字符串处理函数 字符串索引可以为负数 表示从字符串末尾开始算起 所有字符串处理函数的 字符串索引参数都使用 2.所 ...
随机推荐
- Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your My
转自:https://blog.csdn.net/haha_66666/article/details/78444457 Query : select * from order LIMIT 0, 10 ...
- Hadoop的完全分布式搭建
一.准备虚拟机两台 1.将虚拟机进行克隆https://www.cnblogs.com/the-roc/p/12336745.html 2.1将克隆虚拟机的IP修改一下 vi /etc/sysconf ...
- [CF1304C] Air Conditioner
维护一区间 \([l,r]\) 人按照时间升序 考虑 \((l_i, h_i, t_i)\),当前的所有区间与这个区间取交 推到 \(t_{i+1}\) 时,所有区间的端点向两边扩张即可 注意把空掉的 ...
- ROS2GO 与WIN10 双系统安装
关于ROS2GO的一些心得: 我是一个ROS的探索者,在接触ROS一段时间后,意外发现了一个关于ROS2GO的信息,是天之博特的微信公众号发表的.简单来说ROS2GO就是一个装了ROS的Ubuntu系 ...
- SpringBoot多数据源:动态数据源
目录 1. 引言 2. 动态数据源流程说明 3. 实现动态数据源 3.1 说明及数据源配置 3.1.1 包结构说明 3.1.2 数据库连接信息配置 3.1.3 数据源配置 3.2 动态数据源设置 3. ...
- HTML连载62-固定定位练习、z-index属性
一.固定定位应用场景 1.练习 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- JDBC添加为null的数据报错
定义实体类的时候定义为了基本数据类型,不能接收null需要改为引用数据类型
- SequoiaDB报告创建线程失败的解决办法
1.问题背景 对于分布式数据库和分布式环境,高并发和高性能压力的情况下,出现线程创建失败等等问题也是十分常见的,这时候就十分考虑数据库管理员的经验,需要能快速的定位到问题和瓶颈所在,快速解决.本文也是 ...
- vs2010安装
1.网盘上2010安装包可用,先下载到电脑上,然后找到setup文件,安装即可 2.下载插件,基本的文本对齐,tab键补齐等功能 3.测试hello world程序 4.出现的问题 一个文件夹下有多个 ...
- Windows7自定义主题
一.破解主题限制 Windows系统默认只能允许用户使用系统自带主题(非壁纸),即使用户安装了第三方主题,Windows也会限制很多地方,导致第三方主题用起来怪怪的. 故此,想要一个可以自定义主题的W ...