Lua 运算符
算法运算符
-- + - * / %
--Lua 不支持自增自减
--没有复合运算符 += -= /= *= %=
--字符串 可以进行 算数运算符操作 会自动转成number 如果不是数字大概率会报错
| Lua | 相等 | C# |
|---|---|---|
| + | = | + |
| - | = | - |
| * | = | * |
| / | = | / |
| % | = | % |
| ^ | = | ^ |
| 无 | != | += |
| 无 | != | -= |
| 无 | != | /= |
| 无 | != | *= |
| 无 | != | %= |
| 无 | != | ++ |
| 无 | != | -- |
案例
--实例案例
print("加法运算" ..1+2)
a=3
b=4
a = a+b
print(a+b)
print("123.4"+1)
print("减法法运算" ..1-2)
print("123.4"-1)
print("乘法运算" ..1*2)
print("123.4"*2)
print("除法运算" ..1/2)
print("123.4"/2)
print("取余运算" ..1%2)
print("123.4" %2)
print("幂运算" .. 2^5)
print("123.4" ^2)
条件运算符
-- > < >= <= == ~=
| Lua | 相等 | C# |
|---|---|---|
| > | = | > |
| < | = | < |
| >= | = | >= |
| <= | = | <= |
| == | = | == |
| ~= | = | != |
print("3>1是否 " , 3>1);
print("3<1是否\", 3<1);
print("3>=1", 3>=1);
print("3<=1", 3<=1);
print("3==1" , 3==1);
--不等于 不是C# 的 != 而 Lua 的不等于是 ~= 的
print("3~=1 这个是不等于" , 3~=1)
逻辑运算符
-- && || ! "支持短路" 前判断已经是真的 后面则会不判断 and &&
-- and or not lua 中 也遵循逻辑运算的 “短路” 规则
| Lua | 相等 | C# |
|---|---|---|
| and | = | && |
| or | = | | | |
| not | = | ! |
案例
print(true and false)
print(true and true)
print(true or false)
print(not true)
位运算符
Lua 不支持 需要自己实现
三目运算符
Lua 不支持 需要自己实现
--Lua 不支持三目运算符
x =3
y =2
-- 只有nil 和 false 才会为假的
local res = (x>y) and x or y
print(res)

浙公网安备 33010602011771号