猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!
一、程序块的写法:
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 = {}
fori = 0,9 do
a[i] = i
end
fori = 1,#a do--#a 返回a的最后索引值
print(a[i]) --利用#输出所有行
end
print(a[#a]) --输出最后一个值
a[#a] = nil --删除最后一个值
a[#a+1] = 10 --添加一个值到最后
注意:不推荐使用索引0为起始索引,大多数内建函数都假设数组索引开始于1,所以为0的索引数组可能会出现错误。