欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Lua学习之【2】:全局变量、关键字、类型

程序员文章站 2022-05-26 11:05:07
...

1、全局变量 全局变量不需声明,给一个变量赋后即创建了该全局变量,未初始化的全局变量为nil。删除一个全局变量,只需将变量赋nil 2、关键字 Lua的保留字如下:关键字不能当做标示符。Lua大小写敏感。 and break do else elseif end false for function if

1、全局变量

全局变量不需声明,给一个变量赋值后即创建了该全局变量,未初始化的全局变量为nil。删除一个全局变量,只需将变量赋值nil

2、关键字

Lua的保留字如下:关键字不能当做标示符。Lua大小写敏感。

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

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

3、命令行方式

lua [options] [script [args]]

1)-e:直接将命令传入Lua。如:lua -e “print(math.sin(12))”,打印-0.53657391800043

2)-l:加载一个文件

3)-i:进入交互模式

4、变量基本类型

Lua是动态类型语言,变量不要类型定义,Lua有8个基本类型,分别为nil、boolean、number、string、userdata、function、

thread、table。

1)nil:一个全局变量没被赋值前默认为nil,给全局变量赋值nil可以删除该变量

2)boolean:值false和true。Lua的所有值都可作为条件,在控制结构的条件中除了false和nil为假,其他都为真。所以Lua中0和

空串都为真。

3)number:Lua中没有整数,Lua的number可以处理任何长正整数,不必担心误差。也可以在编译lua的时候使用长整型或者单

精度浮点型代替number。

4)string:字符序列,Lua是8位字节,所以字符串可以包含任何数值字符,包括嵌入的0。Lua中字符串是不可修改的。Lua自动

进行内存分配与释放,一个string可以只包含一个字母,也可以包含一本书。Lua可以高效的处理长字符串。使用单引号或双引号表示字符串。一般使用一种,除非两种引号嵌套情况。可以使用转移符\。转移序列如下:

\a bell

\b 后退

\f 换页

\n 换行

\r 回车

\t 制表

\v

\\ "\"

\" 双引号

\' 单引号

\[ 左中括号

\] 右中括号

如:print("one line\nnext line\n\"in quotes\",'in quotes' ")打印结果如下

one line

next line

“in quotes” ‘in quotes’

注意:运行时Lua会自动在string和number之间自动进行类型转换,当一个字符串使用算数运算符时,string就会被转为数字。当

string碰到数字时,就会将数字转为string。

..在Lua中是字符串连接符,但在一个数字后面写..时,必须加上空格以防止被解释错。

如果需要将string显示转为数字,可以使用函数tonumber(),如果string不是正确的数字,函数返回nil

5)function:函数是第一类值,函数可以存储在变量中,可以作为函数的参数、返回值。Lua可以调用lua或者C实现的函数。lua

使用的标准库都是C实现的,标准库包括string库,table库,I/O库,OS库,算术库,debug库

6)Userdata:userdata可以将c数据存放在Lua变量中,userdata在Lua中除了赋值和相等比较外没有预定义的操作。

7)thread:线程暂不讨论