cocos2d-x 快速熟悉Lua基本细节问题

猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!
原文地址: http://www.cocos2dev.com/?p=416


一、程序块的写法:

a = 1 
b = a*2

a = 1;
b = a*2;

a= 1; b = a*2

a = 1 b = a*2

这四个程序块都是等价的。


二、Lua 变量区分大小,~= 是 不等于


三、注释符号

--[[
  这里是多行注释符号
  这里是多行注释符号
]]
print("Sunny")  -- 两个连接符就是单行注释符号


注意:多行注释符号一般这样写:

--[[
 print("Sunny")  --已经被注释了
--]]


优点:假如你想把注释去掉,直接在开头注释符号前面加一个连接符就可以了。(多行注释符号被改成了单行)

---[[
 print("Sunny")  --没有注释
--]]


四、全局变量不用声明,赋值就可以了,不用的时候赋值nil,未赋值的全局变量为nil


五、boolean,只有false和nil是假,其他值都是真(包括0和空字符串)


六、number ,表示双精度浮点数,Lua没有整数类型


七、string,可以赋值为任意二进制数据

1、注意Lua的字符串是不可变的值,不能像c++那样修改字符串里的字符,需要修改的话请创建一个新的字符创。

a = "hello world" --也可以是单引号,注意统一风格就可以了
b = string.gsub(a,"world","sunny")
print(a) --输出 hello world
print(b) --输出 hello sunny


2、在字符串上面进行算术操作,lua会将字符串转化成数字

print("1" + 1) --输出 2
print("a" + 1) --错误:a string value


3、tonumber(),字符串转数字

print(tonumber("123")) --输出数字 123
print(tonumber("a123")) --输出 nil


3、tostring(),数字转字符串(也可以使用连接符,123 .. "" )

print(type(tostring(123))) --输出 string
print(type(123 .. ""))	 --输出 string


4、#,长度操作符,获取字符串长度

a = "sunny"
print(#a)	--输出 5


八、table,一种关联数组,也就是一种有索引方式的数组,索引值可以是整数、字符串或其他类型。(nil不可以作为table索引值)

a = {} --创建table,将table的引用存到a
a["x"] = 1  --增加一个新条目 "x":1
b = "y"
a[b] = 2    --增加一个新条目 "y":2

c = a         --c和a引用了同一个table

print(a["x"]) --输出 1
print(a["y"]) --输出 2
print(c["x"]) --输出 1
print(c["y"]) --输出 2
print(c.y)     --输出 2


注意:c.y 等价与 c["y"],但是不同于c[y]


常用技巧:

a = {}
for i = 1,9 do
a[i] = i 
end

for i = 0,#a do --#a 返回a的最后索引值
print(a[i]) --利用#输出所有行
end

print(a[#a]) --输出最后一个值

a[#a] = nil --删除最后一个值

a[#a+1] = 10 --添加一个值到最后

注意:不推荐使用索引0为起始索引,大多数内建函数都假设数组索引开始于1,所以为0的索引数组可能会出现错误。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值