山西钢铁建设集团有限公司网站,昆网站在哪里,凡科互动h5游戏制作平台,专门做杂志的网站在Lua中#xff0c;逻辑运算符包括 and、or 和 not。它们用于对布尔值进行逻辑运算。
and运算符#xff1a;
当同时满足两个表达式时#xff0c;返回第二个表达式的值#xff1b;否则#xff0c;返回第一个表达式的值。如果第一个表 达式的值为false或nil#xff0c;则…在Lua中逻辑运算符包括 and、or 和 not。它们用于对布尔值进行逻辑运算。
and运算符
当同时满足两个表达式时返回第二个表达式的值否则返回第一个表达式的值。如果第一个表 达式的值为false或nil则直接返回该值否则返回第二个表达式的值。代码示例
local a true
local b false
local c nil
local d trueprint(a and d) -- 输出 true
print(a and b) -- 输出 false
print(b and a) -- 输出 false
print(a and c) -- 输出 nil
print(c and a) -- 输出 niland 简单记忆法 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) -- 输出 trueor简单记忆法 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) -- 输出 trueand 与 or 优先级
当一行代码同时出现and与or的时候先进行and操作。 print(true or false and false) -- 输出true and和or 简化判断逻辑
需要注意的是and 和 or 运算符在进行逻辑运算时是短路的即如果第一个表达式的值已经能够确定整个表达式的结果就不再计算第二个表达式。这可以用来简化判断逻辑。 例如
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