Lua 的逻辑运算符有哪些?

· 约 3 分钟读完 · 第 17 / 133 章

推荐答案

Lua 的逻辑运算符有以下三种:

  1. and:逻辑与运算符,当两个操作数都为真时返回真,否则返回假。
  2. or:逻辑或运算符,当至少有一个操作数为真时返回真,否则返回假。
  3. not:逻辑非运算符,对操作数取反,真变假,假变真。

本题详细解读

逻辑与运算符 (and)

  • 语法:a and b
  • 行为:
    • 如果 a 为 false 或 nil,则返回 a。
    • 否则返回 b。
  • 示例:

逻辑或运算符 (or)

  • 语法:a or b
  • 行为:
    • 如果 a 为 true 或非 nil,则返回 a。
    • 否则返回 b。
  • 示例:

逻辑非运算符 (not)

  • 语法:not a
  • 行为:
    • 如果 a 为 false 或 nil,则返回 true。
    • 否则返回 false。
  • 示例:

短路求值

Lua 的逻辑运算符支持短路求值(short-circuit evaluation),即在 and 和 or 运算中,如果第一个操作数已经能够确定整个表达式的结果,则不会计算第二个操作数。

  • 示例:

注意事项

  • Lua 中的逻辑运算符不仅可以用于布尔值,还可以用于任何类型的值。nil 和 false 被视为假,其他所有值被视为真。
  • 逻辑运算符的返回值不一定是布尔值,而是根据操作数的值返回其中一个操作数。