今天给大家分享lua语言中常见的逻辑运算符
and、or、not
首先记住这样一句话:lua中所有的逻辑运算将Boolean类型的false 和 nil 当做假,其余当做真
然后我们首先来看and
逻辑运算符and的运算结果为:如果他的第一个操作数为‘假’,则返回第一个操作数,否则返回第二个操作数
例如
打印输出为
再来看or
对于or来说,如果他的第一个操作数不为‘假’,则返回第一个操作数,否则返回第二个操作数
打印结果为
从以上我们可以看出
其实and 跟 or 都遵循短路求值原则,即只在必要时才对第二个操作数进行求值
同时在lua语言中,形如 x = x or v 的操作写法非常有用,他等价于:
if not x then
x = v
end
很多大神级别的程序经常会使用这种操作写法,大家可以仔细揣摩并体会
对于not,我们只要记住一点,那就是not运算符永远返回Boolean类型的值:
例如:
打印为: