安装好Lua之后就可以进行Lua脚本的编程学习了。

1.终端执行lua test.lua就是执行test.lua脚本;

2.终端执行lua -i test.lua  执行问test.lua之后就会进入交互模式;

3.在交互模式中运行dofile(”test.lua“)就可以运行test.lua.一种常用的编辑模式就是左边开一个调试窗口,启用lua的交互模式用dofile运行程序,另一边开一个编辑器编辑.lua文件;

4.lua是大小写敏感的;

5.“--”是单行注释,多行注释的话就要像下面这样:

--[[ print(10) -- no action (comment) --]] 

6.在lua中引用未初始化的值是允许的,它返回的是nil;

7.只要在全局的部分声明一个变量,它就是全局变量了,如果要销毁一个全局变量,直接赋值为nil就可以了;

8.通过等号表达式可以把lua当计算机用,比如:

> =math.log10(1000) 3 > =math.pi 3.1415926535898 > =math.sin(3.14) 0.0015926529164868 > 

9.数据类型

lua有下面的几种数据类型:

> print(type("Hello world")) string > print(type(10.4*3)) number > print(type(print)) function > print(type(type)) function > print(type(true)) boolean > print(type(nil)) nil > print(type(type(X))) string 

其中Nil类型的变量只可能有一个值,就是nil。

另外Boolean只有两个值,true和false。在条件判断中,除了false可以代表“否”,nil也可以代表“否”,其余的所有值都只能代表true,包括0.比如:

> if 0 then print("0 is true!") end 0 is true! 

10.number类型的特点:

没有整型,只有实型,在Lua中一个Number类型可以代表任何具有32比特的×××而没有舍入错误。

11.String类型的特点:

自动分配内存,初始化之后不可改变。

Lua在管理长的字符串方面非常有效。


12.类型转换

自动类型转换会发生在number和string类之间,例如当string和number之间进行数值运算的时候,string会自动转换成number类型,当然是在可以转换的情况下。

> print("10+1") 10+1 > print("11"+1) 12 > print("11"*1.2) 13.2 >  

显示的类型转换有tonumber和tostring,例如:
> a="10" > print(a) 10 > print(type(a)) string > b=tonumber(a) > print(type(b)) number > print(b) 10 > c=tostring(b) > print(type(c)) string > print(c) 10 > print(#c) 2 

print(#c)是指打印字符串c的长度。


13.Table

Table是Lua中最重要的数据类型了。

Table可以用作普通数组,符号表,集合,记录,队列...

所有table都可以用不同类型阿的索引来访问value,当需要容纳新条目时,table会自动增长。

引用table中未被初始化的元素时,返回nil,将nil赋予table的某个元素时,就是删除该元素。

table通常以1作为索引的起始值。

下面是一个简单的例子,获得table中的最小值:

a={} for i=1,5 do 	a[i]=io.read() end min=a[1] for i=1,#a do 	if min>a[i] then 		min=a[i] 	end end print("min:") print(min)