lua中文教程【基本语法】
代码例子:http://www.inf.puc-rio.br/~roberto/book/code.html
注意:没有“;”
1、特点:可扩展、简单、高效、跨平台
2、使用方式:嵌入程序、独立使用、和c混合使用【第三种】
3、print("Hello dily!");
4、chunck【语句组】一个 chunk 就是一串语句段,它们会被循序的执行。 每个语句段可以以一个分号结束
5、local局部变量,未声明是全局变量,必须初始化
6、类型:type("Hello dily!")----->string
7、string赋值后不可以改变,只能赋值给另一个变量【特殊字符用转义符/】【[[....]]也可以作为字符串】【使用..时候必须加上空格】
8、lua会自动装换字符串和数字【容易出错】
9、逻辑运算符:and比or优先级高
10、从table中删除字段的时候可以 t.x = nil【不推荐索引从0开始,否则很多库不能使用;可以用“,”和“;”分隔】
11、可以使用table模拟链表:
12、赋值:
a,b = b,a 先计算右边,后计算左边
当左右个数不一致时,按照左边变量个数为准,不足赋值nil
对多个变量赋值:a,b,c,d = 1,1,1,1
a,b = f() f()可以返回两个值,正确
13、local只在当前控制结构、函数体、一个chunk内有效
pairs()可以遍历整个table,即包括数组及非数组部分。
ipairs()函数用于遍历table中的数组部分。
for key, value in ipairs(tbl) do
print(key, value)
end
key和value是一体的
15、break和return只能使用在【chunk最后一句,end、else、until之前】
16、函数,只有一个参数的时候可以省略 ()【不提倡】
17、面向对象:o:fo(x)和o.fo(o,x)是等价的
18、unpack方法,返回参数中的所有元素
19、可变参数 f(a,b,..) arg[1]
20、虚变量 local _,x = string.find(s,p)
21、格式化方法:string.format()
22、排序【不自动排序,只提供处理方法的参数】:table.sort(t,function (a,b) return (a.name > b.name) end);
23、闭包:?????????????
24、局部变量,局部方法:必须先声明才可以使用局部方法
25、正确的尾调用:方法最后调用方法,调用完毕后就不用返回了
26、迭代器和闭包:???
27、泛性:for?????
最新文章
- [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化
- 【Java EE 学习 78 上】【数据采集系统第十天】【Service使用Spring缓存模块】
- JMeter学习-039-JMeter 3.0 生成 dashboard HTML 报告图表中文乱码
- Xcode奔溃错误码
- JavaScript Patterns 6.4 Prototypal Inheritance
- 使用SQL语句创建SQL数据脚本(应对万网主机部分不支持导出备份数据)
- java的安装环境配置详细步骤
- 使用Java修改Windows注册表
- MemoryMappingFile泄漏分析过程
- Linux下的vi编辑命令中查找·替换详解
- <;转>;泛型的内部原理:类型擦除以及类型擦除带来的问题
- c++中虚函数和纯虚函数定义
- Upgrade Ver 4.3.x from 4.2.x
- js 仿 asp中的 asc 和 chr 函数的代码
- Total Highway Distance
- ListView中点击Item没有任何响应
- 微信小程序里的bug---video 的play()
- python 什么是闭包
- android shape 怎么在底部画横线
- 代码阅读笔记:【C-COT】