Lua 运算符
运算符是一种特殊符号, 用于告诉解释器执行特定的数学或逻辑运算;
算术运算符
在 Lua 中常用的算术运算符如下所示:
操作符 | 描述 | 示例 |
---|---|---|
+ | 加法 | A + B |
- | 减法 | A - B |
* | 乘法 | A * B |
/ | 除法 | 5 / 2 结果为2.5 |
% | 取余 | A % B |
^ | 幂 | A^2, A的二次方 |
- | 负号 | -A, 取相反数 |
// | 整除运算符(lua5.3及以上版本) | 5//2 结果为2 |
示例如下所示:
lua
-- 普通除法
a = 5/2
print(a)
-- 整除运算
b = 5//2
print(b) -- 因为当前版本为lua 5.1.5 所以无法执行整除
关系运算符
Lua 常见运算符如下所示:
操作符 | 描述 | 示例 |
---|---|---|
== | 等于 | A == B |
~= | 不等于 | A ~= B |
> | 大于 | A > B |
< | 小于 | A < B |
>= | 大于等于 | A >= B |
<= | 小于等于 | A <= B |
关系运算符返回结果均为boolean型;
逻辑运算符
在 Lua 中, 会将 false 和 nil 作为假, 会将 true 和 非nil 作为真; 以下是常见的逻辑运算符;
操作符 | 描述符 | 示例 |
---|---|---|
and | 逻辑与 | A and B,需要A和B同时为true,结果才是true |
or | 逻辑或 | A or B, A和B中有一个及以上为true时,结果为true,均为false时结果才是false |
not | 逻辑非 | not A,若A为true则结果为false,若A为false则结果为true |
其他运算符
如下列所示:
操作符 | 描述符 | 示例 |
---|---|---|
.. | 字符串连接符 | "Hello".." World"连接两个字符串为"Hello World" |
# | 返回字符串或表的长度 | #"ytazwc", 得到结果为 6 |
示例如下:
lua
-- operator_test.lua
-- 定义字符串变量
str1 = "Hello"
str2 = " World"
-- 连接字符串
str = str1..str2
print("连接字符串str1和str2结果为: " .. str)
-- 求字符串str的长度
len = #str
print("字符串str长度为: " .. len)
结果如下所示: