• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua 笔记6

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
1. 交互模式运行lua时,由于一行就是一个命令,当用到局部变量就行不通了。可以采用do end。do命令执行后,匹配到end才结束。
2. 局部变量比全局变量快。局部变量随着其作用域结束而消失,垃圾收集器能将其释放。
3. 常用用法:local foo = foo -- 声明了一个局部变量 foo 然后用全局变量 foo 对其赋初值
.在在需要提高对 foo 的访问速度时很有用。
.当其他函数改变了全局变量foo的值,而代码段又需要保留foo的原始值时,这个用法也很有用,尤其是在进行运行时动态替换(monkey patching,猴子补丁)时:即使
其他代码把print动态替换成了其他函数,在local print = print 语句之前的所有代码使用的还都是原先的 print 函数。
4. 有些人认为在代码块的中间位置声明变量是一个不好的习惯:实际上:我们很少会在不赋初值的情况下声明变量,在需要时才声明变量可以避免漏掉初始化这个变量。
此外,通过缩小变量的作用域还有助于提高代码的可读性。
5. 和大多数其他编程语言不同,在Lua语言中,循环体内声明的局部变量的作用域包括测试条件:
repeat 
      sqr= (sqr+ x/sqr) / 2 
      local error= math.abs(sqr^2 - X) 
until error < x/1000      -- 局部变量 'error' 此时仍然可见
6. 泛型for,比如pairs。可以使用多个变量,第一个变量变为 nil 时,循环终止。
7. 不需要在没有返回值的函数加return语句:所有函数最后都隐含return。
8. 代码中间插入return使用do代码块:do return end
9. goto 标签,代替lua语言中没有的 continue、多级 break、 多级 continue、 redo 和局部错误处理等。
标签遵循常见的可见性规则:不能直接跳转到一个代码块中的标签 (因为代码块中的标签对外不可见 )。不能跳转到函数外。不能跳转到局部变量的作用域。
10. 比较数据驱动编程(使用表来描述)和 goto编程(很少欣赏到,通体的流畅性有很大的弊端)。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[转]lua面向对象编程之点号与冒号的差异详细比较发布时间:2022-07-22
下一篇:
lua_gettable和lua_settable发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap