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内有效

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?????

 

 

 

 

 

 

 

 

 

posted @ 2014-01-08 11:22  tinytiny  阅读(603)  评论(0编辑  收藏  举报