-摘自Lua 编程

Lua 学习

 

典型语句:

print("Hello World")

if n==0 then

print(n)

end

 

保留字:and break do end false for in local nil repeat return then while else elseif function if not or true until

 

单行注释: --

 

多行注释:—[[  --]]

 

命令行方式

lua [options] [script [args]]

-e: 直接将命令传入lua

-l : 加载一个文件

-i: 进入交互模式

_PROMPT 内置变量作为交互模式的提示符

 

环境变量LUA_INI,如果为@filename,则加载指定文件。如果变量存在,但不是以@开头,则假定filename为Lua代码文件并运行。

 

arg全局变量存放Lua的命令行参数,脚本名索引为0,前面的参数从-1开始减少。

 

Lua是动态类型语言。

 

8个基本类型:nil,boolean,number, string, userdata, function, thread, table. type()函数可以测试变量或值的类型。

 

给全局变量赋值nil,可以删除该变量。

 

控制结构中,false和nil为假,其它值为真。Lua认为0和空串都是真。

 

Numbers 表示实数,Lua中没有整数。

 

Strings 指字符的序列,你可以存储任意的二进制数据在一个字符串里。Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串。

 

string 和其它对象一样,Lua自动进行内存分配和释放。Lua可以高效的处理长字符串。可以使用单引号或者双引号表示字符串。

转义符:\

\a bell
\b back space -- 后退
\f form feed -- 换页
\n newline -- 换行
\r carriage return -- 回车
\t horizontal tab -- 制表
\v vertical tab
\\ backslash -- "\"
\" double quote -- 双引号
\' single quote -- 单引号

\[ left square bracket -- 左中括号
\] right square bracket -- 右中括号

 

运行时,Lua会自动在string和numbers之间自动进行类型转换,当一个字符串使用算术操作符时,string就会被转成数字。

反过来,当Lua期望一个string而碰到数字时,会将数字转成string。

 

显式将string转成数字可以使用函数tonumber(),如果string不是正确的数字该函数将返回nil。

 

反之,可以调用tostring()将数字转成字符串

 

函数是第一类值(和其他变量相同),意味着函数可以存储在变量中,可以作为函数的参数,也可以作为函数的返回值。

 

Lua可以调用lua或者C实现的函数,Lua所有标准库都是用C实现的。标准库包括string库、table库、I/O库、OS库、算术库、debug库。

 

userdata可以将C数据存放在Lua变量中,userdata在Lua中除了赋值和相等比较外没有预定义的操作。userdata用来描述应用程序或者使用C实现的库创建的新类型。例如:用标准I/O库来描述文件。

posted on 2012-07-11 11:38  A.V  阅读(747)  评论(0编辑  收藏  举报