• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > Lua中数字for循环实例

Lua中数字for循环实例

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了lua for windows,lua for循环,lua for windows 64,lua for windows中文,lua for window等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

看以下代码:

for i=1,2 do 
  print(i) 
  i=3 
end 
</div>
输出是什么?如果习惯了C/C++语言,会觉得因为改变了控制变量i为3,所以在执行第二次循环体之前判断不通过,所以输出是1。
但结果输出是1和2,即虽然改变了i,但循环还是执行了2次。这是为什么呢?

看了lua的源代码,发现在语法分析阶段,表达式中的i(也叫控制变量)和循环体中的i并不是一个值,其实表达式中的i叫internal index,循环体中的i叫external index。

所以在循环体中并没有改变表达式中的i的值。

至于为什么lua要这样做,估计是为了安全吧,怕在循环体中不经意地改变了表达式的i,从而产生bug。

另外,在Progammming in Lua一书中也提到不要在循环体内修改控制变量(实际修改的是external index)的值,否则会有不可预知的结果。

</div>

您可能想查找下面的文章:

  • Lua在windows下的安装及环境配置
  • Lua教程(六):编译执行与错误
  • Lua教程(五):迭代器和泛型for
  • Lua中数字for循环实例

相关文章

  • Lua中的控制结构(流程控制)简明总结
  • Lua进阶教程之闭包函数、元表实例介绍
  • Lua与C语言间的交互实例
  • Lua函数与字符串处理简明总结
  • Lua中关于元方法的一些知识点小结
  • lua中使用packagepath解决多个项目的路径冲突问题
  • Lua中的元表和元方法学习笔记
  • LUA string库使用小结
  • lua日志文件处理代码
  • 详解Lua中if ... else语句的使用方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua基本语法
    • Lua中的元表与元方法学习总结
    • Lua学习笔记之数据结构
    • Lua性能优化技巧(一):前言
    • Lua判断Table是否为空的方法(空的table即{})
    • Lua协程(coroutine)程序运行分析
    • 浅析Lua中的迭代器
    • Lua中实现递归删除一个文件夹
    • Lua中ipair和pair的区别
    • Openresty服务器使用lua脚本写的Hello World简单实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有