表达式

包括数字常量、字符串常量、变量、一元和二元运算符、函数调用。还可以是非传统的函数定义和表结构。

 

算术运算符

二元运算符:+-*/^

一元运算符:-(负值)

 

关系运算符

>     <   <=    >=    ==    ~=

nil只和它自己相等。Lua通过引用比较tables、userdata、functions,即两者表示同一个对象时相等。

 

逻辑运算符

and  or  not

 

and和or的运算结果不是true和false,而是和它的两个操作数相关。

a and b -- 如果a为false,则返回a,否则返回b
a or b -- 如果a为true,则返回a,否则返回b

 

C语言中的三元运算符
a ? b : c
在Lua中可以这样实现:
(a and b) or c

 

not的结果一直返回false或者true

 

连接运算符

..   --两个点

 

优先级:

从高到低的顺序:
^
not - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or

 

表的构造

构造器是创建和初始化表的表达式。表是Lua特有的功能强大的东西。最简单的构造函数是{},用来创建一个空表。

 

每次调用构造函数,Lua都会创建一个新的table

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