【Ark_蛋蛋蛋蛋蛋蛋蛋蛋定】脚本基础2:lua中的逻辑运算符

今天给大家分享lua语言中常见的逻辑运算符
and、or、not
首先记住这样一句话:lua中所有的逻辑运算将Boolean类型的false 和 nil 当做假,其余当做真

然后我们首先来看and
逻辑运算符and的运算结果为:如果他的第一个操作数为‘假’,则返回第一个操作数,否则返回第二个操作数
例如
image
打印输出为
image

再来看or
对于or来说,如果他的第一个操作数不为‘假’,则返回第一个操作数,否则返回第二个操作数
image
打印结果为
image

从以上我们可以看出
其实and 跟 or 都遵循短路求值原则,即只在必要时才对第二个操作数进行求值

同时在lua语言中,形如 x = x or v 的操作写法非常有用,他等价于:

if not x then
x = v
end

很多大神级别的程序经常会使用这种操作写法,大家可以仔细揣摩并体会

对于not,我们只要记住一点,那就是not运算符永远返回Boolean类型的值:
例如:
image
打印为:
image

1 个赞

补充一个三元运算符

local a, b, ret;
ret = a > b and a or b
1 个赞

:star_struck::star_struck::star_struck::star_struck::star_struck::star_struck::star_struck:

关于我们    加入我们    条款    隐私政策
©2021 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。
粤ICP备20013629号