清风细雨楼 Design By www.eepep.com
从本篇博客开始研究一下Lua,现在的Lua真得是很火,因为Cocos2d-x写游戏的时候会用到,所以就拿过来学学吧,先从基础的语法开始,然后慢慢的深入。本人也是刚刚学习,希望和学习Lua的大家交流,博客权当笔记,有错误之处还请赐教。
当然首先是开发环境了,我的学习背景是Cocos2d-x,所以下载了最近发布的Cocos Code IDE版本,我们可以在Cocos Code IDE上边新建工程,然后写Lua测试代码,关于Cocos Code IDE的使用官方有不少的教程,这里就不说了。当然你也可以在控制台下写一些Lua命令,这种和命令行交互的方式比较适合简单的测试,需要做得工作是下载Lua,然后在控制台敲入Lua,在Mac下下载Lua只需要敲入命令brew install lua就搞定了,如果你没有安装brew,就先安装一下brew,最后如图所示代表你就成功了。
环境搭建好了以后就开始来接触一下这个脚本语言吧。首先是最基础的Lua类型,下面一一介绍。
--nil --Lua中特殊的类型,他只有一个值:nil,一个全局变量没有被赋值以前默认值为nil,给全局变量负nil可以删除该变量。 print(i) i = nil --booleans --两个取值false和true。但要注意Lua中所有的值都可以作为条件。在控制结构的条件中除了false和nil为假, --其他值都为真。所以Lua认为0和空串都是真。 --numbers --表示实数,Lua中没有整数。用实数代替整数不会有什么误差(除非数字大于100,000,000,000,000)。Lua的numbers可以处理任何长整数不用担心误差。 --strings --字符串类型,Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串 local a = "hello lua" local b = string.gsub(a,"hello","hi") print(a) print(b) --可以使用单引号或者双引号表示字符串 a = "a line" b = 'another line' --lua同样支持转义字符 --\a bell --\b back space -- 后退 --\f form feed -- 换页 --\n newline -- 换行 --\r carriage return -- 回车 --\t horizontal tab -- 制表 --\v vertical tab --\\ backslash -- "\" --\" double quote -- 双引号 --\' single quote -- 单引号 --还可以使用[[...]]表示字符串。这种形式的字符串可以包含多行,也可以嵌套且不会解释转义序列, --如果第一个字符是换行符会被自动忽略掉。 local code = [[ \b back space -- 后退 \f form feed -- 换页 \n newline -- 换行 ]] print(code) --运行时,Lua会自动在string和numbers之间自动进行类型转换,当一个字符串使用算术操作符时, --string就会被转成数字。 print("10" + 1) --> 11 --当Lua期望一个string而碰到数字时,会将数字转成string。..是字符串连接符,将字符串连接起来,当连接俩个数字 --的时候,注意数字后边要有空格 print(10 .. 20) --> 1020 --如果需要显式将string转成数字可以使用函数tonumber(),如果string不是正确的数字该函数将返回nil。 --反之,可以调用tostring()将数字转成字符串,这种转换一直有效 print(1+tonumber(2)) -->3 print(tostring(100)) -->100 --function --函数是第一类值(和其他变量相同),意味着函数可以存储在变量中,可以作为函数的参数,也可以作为函数的返回值。 --Userdata and Threads --userdata就是用户数据类型,指的是自己定义的类型,userdata在Lua中除了赋值和相等比较外没有预定义的操作 --thread代表线程 --table表 比较重要 以上三个数据类型在其他博客说明 --变量的作用域 --全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错, --只不过得到的结果是:nil. print(i) -->nil --声明一个局部变量使用local 局部变量只在局部代码块中有效,比如在循环中,if语句中,do end代码块中 --我们应该尽可能的使用局部变量 local j = 1 do local k = 1 end print(k) -->nil --标示符 --字母(letter)或者下划线开头的字母、下划线、数字序列.最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。 --注意:Lua是大小写敏感的. --注释:单行注释:-- --多行注释:--[[ --]]
清风细雨楼 Design By www.eepep.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
清风细雨楼 Design By www.eepep.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年12月28日
2024年12月28日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]