运算符属于Lua的语法糖,本来不打算写,但是今天做项目的时候发现一些坑,记录一下
三元运算符
a < b and a or b
例子
-- 取最大值
local a = 0
local b = 1
print(a < b and b or a)
-- print >> 1
条件运算符
a or b
例子
-- 赋值为空的默认值
local a = nil
b = a or "我是默认值"
print(b)
-- print 我是默认值
可能引发的问题
这里需要注意,上述所有的运算符,都属于Lua的语法糖,都会出现一些问题:
- 当 a = false 的情况,将自动赋值 运算符or 后面的值