Lua 运算符
Lua 运算符技术文档
基本概念
Lua 运算符用来处理变量或常量之间的运算,在程序设计中广泛应用,是程序语言中的必备元素。Lua 支持多种运算符,包括算术运算符、比较运算符、逻辑运算符和位运算符等。各种运算符都有其特定功能和优先级,合理地运用运算符可以使程序更加简洁、高效。
算数运算符
Lua 支持基本的算术运算符,包括加(+
)、减(-
)、乘(*
)、除(/
)和模(%
)五种运算符。使用方法如下:
local a = 10
local b = 20
-- 加法
print(a + b) -- 30
-- 减法
print(a - b) -- -10
-- 乘法
print(a * b) -- 200
-- 除法
print(a / b) -- 0.5
-- 取模
print(a % b) -- 10
比较运算符
Lua 支持六种比较运算符,包括等于(==
)、不等于(~=
或~=
)、大于(>
)、小于(<
)、大于等于(>=
)和小于等于(<=
),用于比较两个变量或常量的大小关系。使用方法如下:
local a = 10
local b = 20
-- 等于
print(a == b) -- false
-- 不等于
print(a ~= b) -- true
print(a ~~= b) -- true
-- 大于
print(a > b) -- false
-- 小于
print(a < b) -- true
-- 大于等于
print(a >= b) -- false
-- 小于等于
print(a <= b) -- true
逻辑运算符
Lua 支持三种逻辑运算符,包括与(and
)、或(or
)和非(not
)三种运算符,用来对布尔类型的变量或表达式进行操作。使用方法如下:
local a = true
local b = false
-- 与运算
print(a and b) -- false
-- 或运算
print(a or b) -- true
-- 非运算
print(not a) -- false
位运算符
Lua 支持常见的位运算符,包括按位与(&
)、按位或(|
)、按位异或(~
)、左移(<<
)、右移(>>
)和按位非(~
)。使用方法如下:
local a = 60 -- 二进制为0011 1100
local b = 13 -- 二进制为0000 1101
-- 按位与
print(a & b) -- 12 二进制为0000 1100
-- 按位或
print(a | b) -- 61 二进制为0011 1101
-- 按位异或
print(a ~ b) -- 49 二进制为0011 0001
-- 左移
print(a << 2) -- 240 二进制为1111 0000
-- 右移
print(a >> 2) -- 15 二进制为0000 1111
-- 按位非
print(~a) -- -61 二进制为1100 0011(补码表示)
运算符优先级
不同的运算符有不同的优先级,为了保证表达式的正确性,需要使用括号控制运算符优先级。下面是 Lua 运算符的优先级从高到低的顺序:
()
– 圆括号,最高优先级- ~ # not ^
– 一元运算符* / %
– 乘、除、取模运算+ -
– 加、减运算..
– 字符串连接运算<< >>
– 位移运算&
– 按位与运算~ |
– 按位异或、按位或运算< > <= >= ~= ==
– 比较运算符and
– 逻辑与运算or
– 逻辑或运算= += -= *= /= %= ^= <<= >>= &= ~=
– 赋值及其相关运算符,最低优先级
结语
本文介绍了 Lua 比较常用的运算符及其优先级,对于初学者来说比较容易理解。在程序设计中,熟练掌握各种运算符的使用方法,合理地运用运算符可以使代码更加高效、简洁,提高编程效率。