代码例子: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内有效

14、泛型for循环
http://zhidao.baidu.com/link?url=jbRYfQ1GHIn67pScwuCSMyTiyyoyfvWRTvyFsBWMy8-Tw24viQNapinh4Eb33p4oWZerToxfiJjWSmsCkIssWK

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中文教程【基本语法】的更多相关文章

  1. lua中文教程【高级知识】

    一.编译和运行和调试 1.lua和其他解释型语言一样,先转换成为中间码再执行 2.dofile和loadfile的区别:loadfile编译返回不执行,返回错误代码:dofile执行,返回错误信息 3 ...

  2. 转:Lua简明教程

    需要注意的是:lua中的变量如果没有特殊说明,全是全局变量,那怕是语句块或是函数里. 这里很奇怪,为什么在函数内部声明的变量默认也是global的呢? 函数的返回值 和Go语言一样,可以一条语句上赋多 ...

  3. Lua简明教程

    这几天系统地学习了一下Lua这个脚本语言,Lua脚本是一个很轻量级的脚本,也是号称性能最高的脚本,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本,当你把他的源码下下来编译 ...

  4. Groovy中文教程(链接收藏)

    学习Gradle前,需要有一个Groovy语言的基础,以免被Groovy的语法困扰,反而忽略了Gradle的知识.这里有一个Groovy的简明中文教程文档,可以快速学习Groovy的一些语法:http ...

  5. 学习Nim语言.rar(nim语言中文教程下载)

    学习Nim语言 nim 语法上类似python ,是一门静态编译型语言,nim 使用空格缩进标示语句块的开始和结束, 喜欢python风格的程序员应该也会很容易适应和喜欢nim的风格. nim语言官方 ...

  6. Swift中文教程(一)--欢迎来到Swift的世界

    原文:Swift中文教程(一)--欢迎来到Swift的世界 Apple凌晨时在WWDC发布了Swift编程语言,语法简介我很喜欢,市面上没有完整的中文教程,我在ibooks里面下载了英文原版,现在开始 ...

  7. director.js:客户端的路由---简明中文教程

    1.引子 最近学用director.js,那是相当的简单易学易使用.不过开始学的时候,搜搜过后,却没有发现相关的中文教程.于是决定硬啃E文,翻译备用的同时也当是给自己上课并加深对它的理解. direc ...

  8. webstorm的中文教程和技巧分享

    webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享.webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu.c ...

  9. 读w3c中文教程对键盘事件解释的感想 -遁地龙卷风

    写这篇博文源于w3c中文教程对键盘事件的解释, onkeydown 某个键盘按键被按下 onkeypress 某个键盘按键被按下并松开 onkeyup 某个键盘按键被松开 可在实践中发现 只注册key ...

随机推荐

  1. kubernetes之创建基于名称空间的内存和cpu限额示例

    系列目录 首先我们创建一个名称空间 kubectl create namespace quota-mem-cpu-example 创建资源配额 apiVersion: v1 kind: Resourc ...

  2. 安装openSUSE网卡驱动

    网卡:英特尔 82579LM Gigabit Network Connection 先去英特尔的网站下载驱动 http://downloadcenter.intel.com/SearchResult. ...

  3. mysql连接超时的问题

    使用Hibernate + MySQL数据库开发,链接超时问题: com.mysql.jdbc.CommunicationsException: The last packet successfull ...

  4. NET 并发编程

    场景并发调用API 1.简单封装httpclient public class CommonHelper { private static readonly HttpClient _httpClien ...

  5. 九度OJ 1096:日期差值 (日期计算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8138 解决:2752 题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据, ...

  6. Chef vs Puppet vs Ansible vs Saltstack: Which Works Best For You?

    Ansible vs SaltStack 谁才是自动化运维好帮手? - CSDN博客 https://blog.csdn.net/a105421548/article/details/53558598 ...

  7. Ubuntu Firefox没有声音的解决方案

    安装ubuntu-restricted-extras sudo apt-get install ubuntu-restricted-extras 参考博文:解决ubuntu中firefox没有声音的问 ...

  8. Javascript学习之Date对象详解

    1.定义 创建 Date 实例用来处理日期和时间.Date 对象基于1970年1月1日世界协调时起的毫秒数 2.语法 构造函数 new Date() new Date(value) value代表自世 ...

  9. RTP/RTCP学习笔记 -- RFC 3550

    The MTU of RTP package payload is (IP) - (UDP) - = 1472   #define DEFAULT_MAX_PACKET_SIZE 1200 video ...

  10. HTML初级教程

    1:标题h1~h6HTML标签有专门的标签处理你页面上的标题,它们是h1,h2,h3,h4,h5和h6,象封建社会一样,h1就是万能的君主而h6就是最底层的百姓. 注意,h1标签在一个页面只能使用一次 ...