博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lua 学习总结
阅读量:7195 次
发布时间:2019-06-29

本文共 1503 字,大约阅读时间需要 5 分钟。

1、table在初始化构建的时候,需要使用 []中括号进行声明值的键值。在没有添加键值情况下,默认键值是从1开始,并且以此往后递增。(使用#表名,只能获取是以数字为键值的长度)
2、在遍历table表的时候,#表名 ----只会获取表中从1开始到结束是数字,要求是数字是连续下去 、ipairs(表名)----只会获取从1开始连续不断的键值数据。ipairs的作用是保证输出的值是按照从数值键值排序输出table数据的值。而Pair是的作用是保证数据中的每一个值都能够输出,但是循序是根据hash的循序进行输出。
3、table在赋值的之后,数据之间的循序会根据hash值来进行排序。所有对应的输出结构会发生改变。导致的结果是对应的输出结构发生改变。
4、table.maxn(表名),在lua5.3中已经没有该方法的使用
5、lua中只将false、nil当作是false进行处理,其他都视为true。
6、and、or 逻辑操作符有别于其他语言。这两个操作符返回的是运算中的结果值。例子:2 or 5 --2
2 and 5 --5
7、local tab ={x=1,y=z} 在这里x 、y 会被当做 是字符串处理,与外界变量不关。
local tab ={[x]=1,y=z} 在这里x是被当做外层变量名进行处理。但是对于这两个的初始化构建table的时候,z变量时使用上层的环境变量来进行使用。
8、多重赋值的长应用于,变量值的交换;函数返回多个变量值,用多个变量来获取相应的函数返回的结果值。
9、循环for 、while、repeat……until 。在这三个循环语句中,for循环又分为数字型for、泛型for的使用.
10、math.random(x[,y]) 该方法产生在xy之间的数字,但是在math.randomseed(z)设置随机种子,如果设置相同的随机种子就会每次运行math.random(x[,y]) 产生相同的数。一般采用当前的 时间的倒叙的6位数进行相应的种子设置。math.randomseed(tostring(os.time()):reverse():sub(1,6))
11、在函数多重返回值的时候,会自动匹配要赋值的数值;但是在函数调用的时候,函数后面还有值的情况,函数只会返回前一个值。
12、select(“index”,...),在可变参数...中可以是nil ,如果获取可变参数的长度,写法select(“#”,...),nil 也会算入长度。
13、pcall(x) ,其中x的参数名是一个定义的参数名字,该函数就会自动调用该函数。例子:local status ,err = pcall(function() x = "a"+1 end) 在运行时产生的错误会被pcall()函数捕获到。并且打印错误信息。在这过程中运行时程序抛出了一个错误。而 error() 函数就有抛出错误的作用。
14、协程:协程有四个状态(suspended、running、normal、dead)。当调用coroutine.create(函数),该协程的状态就是suspended、当调用coroutine.resume(协程),该协程的状态就会变成running状态(如果在协程运行的时候调用了其他协程,该协程的状态就会变成相应的normal,但是当其他协程结束是时候就会继续执行当前协程里面的动作),当协程执行完成之后,协程的状态就会进入dead。只要协程进入dead状态后,coroutine.resume(协程)就没有用。因为该协程已经死了,不能被唤醒了。

转载地址:http://cwakm.baihongyu.com/

你可能感兴趣的文章
POS开发问题 - 缓存问题 - 02
查看>>
JDBC编程,从入门到精通
查看>>
模板类中的友元函数
查看>>
Eclipse设置项目默认编码和换行符类型
查看>>
【实用性程序】弧微分计算圆周长
查看>>
算法模板——平衡树Treap
查看>>
1819: [JSOI]Word Query电子字典
查看>>
10分钟学会AngularJS的数据绑定
查看>>
Flash Stage3D Molehill 学习笔记(2)
查看>>
JsDoc脚本注释文档生成
查看>>
基于人脸识别的考试系统16
查看>>
如何在eclipse模拟器上运行下载好的apk程序
查看>>
DTCMS插件的制作实例电子资源管理(一)插件目录结构
查看>>
《领域模型》——第四部分-战略设计
查看>>
微信开发之调起摄像头、本地展示图片、上传下载图片
查看>>
对于使用了SSH造成的中文乱码问题,4大解决方法
查看>>
PAT Advanced 1023 Have Fun with Numbers
查看>>
python多线程threading下载示例
查看>>
python常见问题解决方案
查看>>
【算法学习笔记】77.双线棋盘 动态规划 SJTU OJ 1263 纸来纸去
查看>>