加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua and or not 逻辑运算符

发布时间:2020-12-14 21:56:26 所属栏目:大数据 来源:网络整理
导读:lua and or not 逻辑运算符 ? ? ? ? 逻辑运算符认为false 和nil 是假(false),其他为真,0 也是true.and 和or 的运算结果不是true 和false,而是和它的两个操作数相关。 注:下面的和其他语法有区别 a and b -- 如果a 为false,则返回a,否则返回b a or b

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读