lua关于for循环不能改变控制变量
来源:互联网 发布:软件无线电课程设计 编辑:程序博客网 时间:2024/05/16 22:59
学习lua两天,发觉和以前学习c、c++的感觉差别有点大。。。
在lua的for循环中,想在满足某个条件后,跳过下一次迭代。比如输出1到5,跳过中间的3.一开始写了这样的代码:
for i = 1, 5 doprint(i)if i == 2 theni = i+1endend
运行发现没有起作用:
12345
在lua程序设计里面说:
循环过程中不要改变控制变量的值,那样做的结果是不可预知的。如果要退出循环,使用break语句。
看来控制变量的i和循环体的i不是同一个值
看了手册,感觉可以用范围for和迭代器完成这个任务:
local v = 1for value in function()print(v)if v == 2 thenv = v + 2elsev = v + 1endreturn venddoif value > 5 thenbreakendend
运行发现符合预期想法:
1245
完成这个需求就要用到闭包,感觉有点蛋疼,但从这里面也能感到这个lua的函数作为变量的一种有点强
阅读全文
0 0
- lua关于for循环不能改变控制变量
- 4.5 for 语句的循环控制变量
- python2 For-loop循环控制变量命名泄露
- 关于lua数字for循环的实现
- 关于lua数字for循环易错点
- 增强for循环不能改变其中元素的值;
- Lua for循环
- lua(1) for循环
- lua笔记 for循环
- Lua for循环
- lua for循环
- lua 的for循环
- Lua内容关于for循环的总结(一)
- Lua内容关于for循环的总结(二)
- matlab中for循环的循环变量在循环体中不能改变的问题
- lua 之for循环 疑问。
- Lua 中的另类For循环
- 【java解惑】整型溢出的循环控制变量
- C++实现在文件中输入26个英文字母
- ActiveMQ安装部署(Windows+Centos)
- C++之STL和Boost
- 数据库中Sql语句,存储过程,触发器对性能影响的理解
- Django 时间与时区设置问题
- lua关于for循环不能改变控制变量
- javascript有哪些方法定义对象
- krpano实践之全景图缩放,旋转,倾斜,自动旋转,VR,全屏方法
- Android Wi-Fi WPS的Push Buttun方式的AP端调用流程
- 销售订单的一个直接修改源程序的地方 MV45AFZZ 可以控制销售订单上的价格显示不显示
- django学习笔记一:搭建简易博客
- PDF阅读编辑器 轻松实现无纸化办公
- iCheck空件,美化后的checkbox和radiobox控件
- MySQL数据表中的记录( 增、删、改、查)