Lua - 运算符

  • 简述

    运算符是告诉解释器执行特定数学或逻辑操作的符号。Lua语言有丰富的内置运算符,并提供以下类型的运算符 -
    • 算术运算符
    • 关系运算符
    • 逻辑运算符
    • 杂项运算符
    本教程将一一讲解算术、关系、逻辑和其他杂项运算符。
  • 算术运算符

    下表显示了 Lua 语言支持的所有算术运算符。假设变量A 容纳 10 和变量 B 持有 20 然后 -
    运算符 描述 例子
    + 添加两个操作数 A + B 给 30
    - 从第一个操作数中减去第二个操作数 A - B 等于 -10
    * 将两个操作数相乘 A * B 给 200
    / 分子除以分数 B/A 等于 2
    % 模运算符和整数除法后的余数 B % A 等于 0
    ^ 指数运算符取指数 A^2 等于 100
    - 一元 - 运算符充当否定 -A 等于 -10
  • 关系运算符

    下表显示了 Lua 语言支持的所有关系运算符。假设变量A 容纳 10 和变量 B 持有 20 然后 -
    运算符 描述 例子
    == 检查两个操作数的值是否相等,如果是,则条件为真。 (A == B) 不为True。
    ~= 检查两个操作数的值是否相等,如果值不相等则条件为真。 (A ~= B) 为True。
    > 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (A > B) 不正确。
    < 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B) 为True。
    >= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (A >= B) 不为True。
    <= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件成立。 (A <= B) 为True。
  • 逻辑运算符

    下表显示了 Lua 语言支持的所有逻辑运算符。假设变量A 成立且可变 B 那么为假 -
    运算符 描述 例子
    and 称为逻辑与运算符。如果两个操作数都不为零,则条件为真。 (A 和 B) 为False。
    or 称为逻辑或运算符。如果两个操作数中的任何一个不为零,则条件变为真。 (A 或 B) 是正确的。
    not 称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将变为假。 !(A 和 B) 为True。
  • 杂项运算符

    Lua 语言支持的其他运算符包括 concatenationlength.
    运算符 描述 例子
    .. 连接两个字符串。 a..b 其中 a 是“Hello”,b 是“World”,将返回“Hello World”。
    # 返回字符串或表长度的一元运算符。 #"Hello" 将返回 5
  • Lua 中的运算符优先级

    运算符优先级确定表达式中术语的分组。这会影响表达式的计算方式。某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级高于加法运算符 -
    例如,x = 7 + 3 * 2;这里 x 被赋值为 13,而不是 20,因为运算符 * 的优先级高于 &plus,所以它首先乘以 3*2,然后加到 7。
    在这里,具有最高优先级的运算符出现在表格的顶部,具有最低优先级的运算符出现在底部。在表达式中,优先级更高的运算符将首先被评估。
    类别 运算符 关联性
    一元 not # - 右到左
    级联 .. 右到左
    乘法 * / % 左到右
    添加剂 + - 左到右
    关系型 < > <= >= == ~=  左到右
    == ~= 左到右
    逻辑与 and 左到右
    逻辑或 or 左到右