cocos2d-x 快速熟悉Lua基本细节问题
2013-04-18 14:40
323 查看
猴子原创,欢迎转载。转载请注明: 转载自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的索引数组可能会出现错误。
原文地址: 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的索引数组可能会出现错误。
相关文章推荐
- cocos2d-x 快速熟悉Lua基本细节问题
- cocos2d-x 快速熟悉Lua基本细节问题
- cocos2d-x 快速熟悉Lua基本细节问题
- COCOS2D-X 快速熟悉LUA细节问题
- COCOS2D-X 快速熟悉LUA细节问题
- COCOS2D-X 快速熟悉LUA细节问题
- COCOS2D-X 快速熟悉LUA细节问题
- COCOS2D-X 快速熟悉LUA细节问题
- cocos2d-lua ScaleTo函数细节问题
- cocos2d-x 3.x label 功能详解,包括行列间距等细节问题
- Cocos2d-x 3.2 lua飞机大战开发实例(三)道具的掉落,碰撞检测,声音,分数,爆炸效果,完善游戏的功能细节
- cocos2d-x 游戏开发新手细节问题
- cocos2d-x 3.x中lua调用原理1--从基本的c++与lua互相调用开始
- 《Cocos2d-x-3.2 Lua-tests》文件详解 之 基本绘图DrawPrimitives
- cocos2d-x 在LuaStudio中的基本函数自动补全
- Cocos2d-x Lua脚本基本语法
- 数据库编程细节问题 -- 获取关于mysql的基本信息
- cocos2d-x 游戏开发新手细节问题
- socket网络编程快速上手(二)——细节问题(3)
- 快速排序 quicksort 细节问题