lua中的逻辑运算
lua中的逻辑运算只有:and or not
not的结果总是只返回true或false,例如
local a=10
print(not a) 打印的结果是 false
local b=nil 或者 local b=false
print(not b) 打印的结果是true
and和or支持短路运算规则,只是运算结果不是true或false,而是运算符左右两边的值,也就是说结果是最后一次进行判断的那个值,例如
print(10 and 20) --结果为20,因为10为真,and会继续计算后面的20
print(nil and 20) --结果为nil,因为nil为假,and提前结束运算
print(10 or 20) --结果为10,因为10为真,or提前结束运算
print(nil or 20) --结果为20,因为nil为假,or会继续运算