lua and or not 逻辑运算符

本文详细解读了Lua语言中的逻辑运算符(and, or)及其使用方式,包括它们如何处理false、nil、0等值,并与C语言的三元运算符进行对比。文章还介绍了如何利用这些运算符实现条件赋值和判断,以及它们在实际编程中的应用。通过实例演示,读者可以深入理解Lua中逻辑运算符的特性和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lua and or not 逻辑运算符  


      逻辑运算符认为false 和nil 是假(false),其他为真,0 也是true.and 和or 的运算结果不是true 和false,而是和它的两个操作数相关。
注:下面的和其他语法有区别
a and b -- 如果a 为false,则返回a,否则返回b
a or b -- 如果a 为true,则返回a,否则返回b

例如:
print(4 and 5) --> 5
print(nil and 13) --> nil
print(false and 13) --> false
print(4 or 5) --> 4
print(false or 5) --> 5
一个很实用的技巧:如果x 为false 或者nil 则给x 赋初始值v
x = x or v
等价于
if not x then
   x = v
end
and 的优先级比or 高。

C 语言中的三元运算符
a ? b : c
Lua 中可以这样实现:
(a and b) or c
not 的结果只返回false 或者true
print(not nil) --> true
print(not false) --> true
print(not 0) --> false
print(not not nil) --> false

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值