Lua 运算符

在 Lua 中,运算符用于执行基本的数学和逻辑操作。以下是 Lua 中常用的运算符分类及其用法:

1. 算术运算符

算术运算符用于执行基本的数学运算,如加法、减法、乘法、除法等。

  • + 加法
  • - 减法
  • * 乘法
  • / 除法
  • ^ 幂运算
  • % 取模(求余)
示例
local a = 10
local b = 5

print(a + b)  -- 输出 15
print(a - b)  -- 输出 5
print(a * b)  -- 输出 50
print(a / b)  -- 输出 2
print(a ^ 2)  -- 输出 100
print(a % b)  -- 输出 0

2. 比较运算符

比较运算符用于比较两个值,并返回布尔结果。

  • == 相等
  • ~= 不相等
  • < 小于
  • > 大于
  • <= 小于等于
  • >= 大于等于
示例
local x = 10
local y = 5

print(x == y)  -- 输出 false
print(x > y)   -- 输出 true
print(x < y)   -- 输出 false
print(x >= y)  -- 输出 true
print(x <= y)  -- 输出 false
print(x ~= y)  -- 输出 true

3. 逻辑运算符

逻辑运算符用于组合布尔表达式。

  • and 逻辑与
  • or 逻辑或
  • not 逻辑非
示例
local x = true
local y = false

print(x and y)  -- 输出 false
print(x or y)   -- 输出 true
print(not x)    -- 输出 false

4. 位运算符

位运算符用于执行位级别的操作。

  • ~ 按位取反
  • & 按位与
  • | 按位或
  • ~ 按位异或
  • << 左移
  • >> 右移
示例
local a = 10  -- 二进制: 1010
local b = 5   -- 二进制: 0101

print(a & b)  -- 输出 0 (二进制: 0000)
print(a | b)  -- 输出 15 (二进制: 1111)
print(a ~ b)  -- 输出 15 (二进制: 1111)
print(~a)     -- 输出 -11 (二进制: ...11011)
print(a << 2) -- 输出 40 (二进制: 101000)
print(a >> 1) -- 输出 5 (二进制: 0101)

5. 字符串运算符

字符串运算符用于操作字符串。

  • .. 字符串连接
示例
local str1 = "Hello, "
local str2 = "world!"
local fullStr = str1 .. str2
print(fullStr)  -- 输出 "Hello, world!"

6. 表运算符

表运算符用于操作表。

  • # 表长度(数组形式的表)
示例
local t = {1, 2, 3, 4, 5}
print(#t)  -- 输出 5

运算符优先级

Lua 中的运算符具有一定的优先级,这决定了它们的执行顺序。以下是一些常见运算符的优先级顺序(从高到低):

  1. ^ (幂运算)
  2. not, # (逻辑非、表长度)
  3. *, /, % (乘法、除法、取模)
  4. +, - (加法、减法)
  5. <<, >> (位移)
  6. & (按位与)
  7. ~ (按位异或)
  8. | (按位或)
  9. <, <=, >, >= (比较)
  10. ==, ~= (相等性比较)
  11. and (逻辑与)
  12. or (逻辑或)
  13. .. (字符串连接)

示例:使用运算符进行数学计算

下面是一个简单的示例,演示了如何使用 Lua 中的运算符来计算一个简单的数学表达式。

local a = 10
local b = 5
local c = 2

local result = (a + b) * c / (a - b)
print(result)  -- 输出 7

这些是 Lua 中常用的运算符及其用法。如果您需要更详细的解释或有其他问题,请随时提问!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值