从C/C++到Lua

因为工作需要,又要去使用Lua了。

以前就只是大概地使用了一下,并没有多深入。

现在要做的可能是上几千行的Lua代码,所以找了Lua的手册仔细看看。

做为一个C/C++程序员,把自己的学习过程中感觉不一样的东东写一下。

本文旨在为C/C++程序员提供一个快速了解Lua的方法。 如想更深入,还请看手册。

如有什么不当的地方,肯请指出,一起学习,谢谢。

如欲转载,请指明出处。http://blog.csdn.net/hanckjt

1. Lua中没有指针。

2. Lua中的变量并没有类型之分,你可以把它当作任何你使用的值类型,包括函数。

3. Lua中的“nil”和C/C++在的NULL差不多,都可以用来表示“空”,但是请注意,只是意义差不多,不是一样。因为其实NULL在C/C++中定义的是“0”,但是“0”在Lua并不是“空”。

4. 如果想交换a和b的值,可以这么写:a, b = b, a; (神奇的Lua)

5. 如果只是局部变量,请在前面加个“local”,不然就是全局了。

6. 强大的“..”,连接操作符,可以把任何能转成字符串的所有值连成字符串。比如:strMessage = "Name="..strName.."/nAge="..iAge;

 7. Lua有自己的垃圾回收系统。

8. 你可以把Lua中的表想像成为C++STL中的map,比如a = { ["DOS"] = 1 },那么a["DOS"] == 1;

8. 如果想得到一个表中有多少元素,可以用table.getn( ... )。

9. 就算不知道有多少个,你也可以这样遍历表中的元素: a = { x = 1, y = 2 }; for key, value in a do     print( string.format( "a(%s)=%s/n", key, value ) ); end

10. 函数可以返回多个值: function fun()     return 1, 2; end a, b, c = fun(); 这样之后:a == 1, b == 2, c == nil。这其实和第4项有点类似。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值