初学Lua知识点

来源:互联网 发布:淘宝联盟教程2016 编辑:程序博客网 时间:2024/05/15 09:05

1.变量

变量没有预定义的类型,每一个变量都可能包含任一种类型的值

 

Nil Lua中特殊的类型,一个全局类型没有被赋值以前默认值为nil,给全局变量付nil可以删除该变量

 

Boolean 两个取值falsetrue.Lua中所有值都可以作为条件,在控制结构的条件中除了falsenil为假,其他都为真.所以Lua认为0和空字符串都是真.

 

Number Lua中没有整数,只有实数.

 

String Lua8位字节,所以字符串可以包含任何数值字符,包括嵌入的0

转义字符:

\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会自动在stringnumber之间自动进行类型转换.

 

2.算术运算符

二元运算符:+ - * / ^ (加减乘除幂)

一元运算符:- (负值)

这些运算符的操作数都是实数。

 

3.关系运算符

<      >      <=    >=    ==    ~=

==~=比较两个值,如果两个值类型不同Lua认为两者不同;nil只和自己相等.

 

4.逻辑运算符

and     or      not

逻辑运算符认为falsenil是假(false),其他为真,0也是true.

and的优先级比or高。

 

a and b -- 如果afalse,则返回a,否则返回b

a or b -- 如果atrue,则返回a,否则返回b

 

C语言中的三元运算符

a ? b : c

Lua中可以这样实现:

(a and b) or c

 

5.连接运算符

..  --两个点

字符串连接,如果操作数为数字,Lua将数字转成字符串

 

6.优先级

从高到低的顺序:

^

not - (unary)

* /

+ -

..

< > <= >= ~= ==

and

or

除了^..外所有的二元运算符都是左连接的。

 

7.表的构造

构造器是创建和初始化表的表达式。表是Lua特有的功能强大的东西。最简单的构造函数是{},用来创建一个空表。可以直接初始化数组(第一个元素索引为1)

不管用何种方式创建table,我们都可以向表中添加或者删除任何类型的域,构造函数仅仅影响表的初始化。

0 0