在Lua中,逻辑运算符包括 and
、or
和 not
。它们用于对布尔值进行逻辑运算。
and运算符:
当同时满足两个表达式时,返回第二个表达式的值;否则,返回第一个表达式的值。如果第一个表 达式的值为false
或nil
,则直接返回该值;否则,返回第二个表达式的值。代码示例:
local a = true
local b = false
local c = nil
local d =true
print(a and d) -- 输出 true
print(a and b) -- 输出 false
print(b and a) -- 输出 false
print(a and c) -- 输出 nil
print(c and a) -- 输出 nil
and 简单记忆法: a 为 true 返回 b ,a 为 false ,返回 a
特殊说明 \color{red}{特殊说明} 特殊说明 :逻辑运算符将 false 和 nil 视为假,其他均视为真,0也视为真。
nil 在 lua 中表示一个无效值或 空值。在表达式中则表示 false。 假如一个变量没有赋值前,那么他的值则为 nil。
or运算符:
当至少有一个表达式满足条件时,返回第一个满足条件的表达式的值;否则,返回最后一个表达式的值。如果第一个表达式的值为 true
或 nil
,则直接返回该值;否则,返回第二个表达式的值。 代码示例:
local a = true
local b = false
local c = nil
print(a or b) -- 输出 true
print(b or a) -- 输出 true
print(a or c) -- 输出 true
print(c or a) -- 输出 true
or简单记忆法: a 为 true 返回 a ,a 为 false ,返回 b
not运算符:
用于对一个表达式进行取反操作,如果表达式的值为 false
或 nil
,则返回 true
;否则,返回 false
。代码示例:
local a = true
local b = false
local c = nil
print(not a) -- 输出 false
print(not b) -- 输出 true
print(not c) -- 输出 true
and 与 or 优先级
当一行代码同时出现and与or的时候,先进行and操作。文章来源:https://www.toymoban.com/news/detail-665109.html
print(true or false and false) -- 输出true
and和or 简化判断逻辑
需要注意的是,and
和 or
运算符在进行逻辑运算时是短路的,即如果第一个表达式的值已经能够确定整个表达式的结果,就不再计算第二个表达式。这可以用来简化判断逻辑。 例如:文章来源地址https://www.toymoban.com/news/detail-665109.html
local a = 10
local b = nil
local c = 20
local result = a and b -- 如果a为false或nil,则直接返回a的值,否则返回b的值
print(result) -- 输出 nil
local result = a or c -- 如果a为true或nil,则直接返回a的值,否则返回c的值
print(result) -- 输出 10
到了这里,关于Lua中逻辑运算符and,or,not 区别与用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!