Lua_运算符_004

来源:互联网 发布:抢购秒杀软件 编辑:程序博客网 时间:2024/05/17 08:26

逻辑运算符

逻辑运算符认为false和nil是假(false),其他为真,0也是true.
and和or的运算结果不是true和false,而是和它的两个操作数相关。
a and b – 如果a为false,则返回a,否则返回b
a or b – 如果a为true,则返回a,否则返回b
这里写图片描述


关系运算符

< > <= >= == ~=
这些操作符返回结果为false或者true;
==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;

”0” == 0 –> false
nil只和自己相等。
Lua比较数字按传统的数字大小进行,比较字符串按字母的顺序进行,但是字母顺序依赖于本地环境。
“0”==0 false

"0"~=0  true

这里写图片描述


算术运算符

二元运算符:+ - * / ^ %(加减乘除幂余)
一元运算符:- (负值)
这些运算符的操作数都是实数。
这里写图片描述


连接运算符

字符串连接,如果操作数为数字,Lua将数字转成字符串。
连接符两边必须要有空格
如:
print(“Hello ” .. “World”) –>Hello World
print(0 .. 1) –> 01 注意0和..之间的空格


优先级

^
not - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or
优先级不用使用, 可以使用括号区分优先级