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?????
lua中文教程【基本语法】的更多相关文章
- lua中文教程【高级知识】
一.编译和运行和调试 1.lua和其他解释型语言一样,先转换成为中间码再执行 2.dofile和loadfile的区别:loadfile编译返回不执行,返回错误代码:dofile执行,返回错误信息 3 ...
- 转:Lua简明教程
需要注意的是:lua中的变量如果没有特殊说明,全是全局变量,那怕是语句块或是函数里. 这里很奇怪,为什么在函数内部声明的变量默认也是global的呢? 函数的返回值 和Go语言一样,可以一条语句上赋多 ...
- Lua简明教程
这几天系统地学习了一下Lua这个脚本语言,Lua脚本是一个很轻量级的脚本,也是号称性能最高的脚本,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本,当你把他的源码下下来编译 ...
- Groovy中文教程(链接收藏)
学习Gradle前,需要有一个Groovy语言的基础,以免被Groovy的语法困扰,反而忽略了Gradle的知识.这里有一个Groovy的简明中文教程文档,可以快速学习Groovy的一些语法:http ...
- 学习Nim语言.rar(nim语言中文教程下载)
学习Nim语言 nim 语法上类似python ,是一门静态编译型语言,nim 使用空格缩进标示语句块的开始和结束, 喜欢python风格的程序员应该也会很容易适应和喜欢nim的风格. nim语言官方 ...
- Swift中文教程(一)--欢迎来到Swift的世界
原文:Swift中文教程(一)--欢迎来到Swift的世界 Apple凌晨时在WWDC发布了Swift编程语言,语法简介我很喜欢,市面上没有完整的中文教程,我在ibooks里面下载了英文原版,现在开始 ...
- director.js:客户端的路由---简明中文教程
1.引子 最近学用director.js,那是相当的简单易学易使用.不过开始学的时候,搜搜过后,却没有发现相关的中文教程.于是决定硬啃E文,翻译备用的同时也当是给自己上课并加深对它的理解. direc ...
- webstorm的中文教程和技巧分享
webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享.webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu.c ...
- 读w3c中文教程对键盘事件解释的感想 -遁地龙卷风
写这篇博文源于w3c中文教程对键盘事件的解释, onkeydown 某个键盘按键被按下 onkeypress 某个键盘按键被按下并松开 onkeyup 某个键盘按键被松开 可在实践中发现 只注册key ...
随机推荐
- IP分配及网段划分
1.IP我们先来了解一下3类常用的IP A类IP段 0.0.0.0 到127.255.255.255 B类IP段 128.0.0.0 到191.255.255.255 C类IP段 192.0.0. ...
- A20 烧录和启动 log
用 LiveSuit 烧写了一个 lubuntu 的映像文件到板子上, 同时接了串口观察烧录过程的串口打印信息, 如下 ES: FES:Fes Ver: 098 FES:=============== ...
- TXT文本写入数据库
load data local infile "D:/abc.txt" into table lee; leedabao.txt内容如下,中间用Tab隔开: 2 yuanpeng ...
- Andorid——ubuntu下的 NDK / JNI
之前一直有接触源代码里面的JNI体系,知道个大概,仅仅管调进了哪个C/C++的接口,如今记录学习下. 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/ ...
- EasyDarwin开源流媒体云平台VS调试断点提示“还没有为该文档加载任何符号”的解决办法
本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/52063666 近日,我们EasyDarwin ...
- Aspose.cells 读取Excel表中的图片问题
一.说明 本文主要是讲解,怎么使用aspose.cells读取Excel表中的图片,并把图片转换成流或是image对象. 二.开发环境说明 开发工具vs2012,c#语言, 三.Aspose.cell ...
- 九度OJ 1123:采药 (01背包、DP、DFS)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2705 解决:1311 题目描述: 辰辰是个很有潜能.天资聪颖的孩子,他的梦想是称为世界上最伟大的医师. 为此,他想拜附近最有威望的医师为师 ...
- linux host=${host:-"localhost"}使用方法
localhost=${host:-"localhost"} host 变量未设定或者为空,host取"-"后面的值;否则host=$host host=${h ...
- appium(3)-Running Tests
Running Tests Preparing your app for test (iOS) Test apps run on the simulator have to be compiled ...
- platform_set_drvdata 和 platform_get_drvdata
ndev是我们在probe函数中定义的局部变量,如果我想在其他地方使用它怎么办呢? 这就需要把它保存起来.内核提供了这个方法,使用函数platform_set_drvdata()可以将ndev保存成平 ...