算数运算符
符号 |
解释 |
+ |
加法 |
- |
减法 |
* |
乘法 |
/ |
除法 |
% |
取余 |
^ |
乘幂 |
- |
负号 |
// |
整除运算符 |
print(10 + 20)
print(20 - 10)
print(20 * 10)
print(20 / 10)
print(9 % 5)
print(2 ^ 3)
print(-10)
print(5 // 2)
关系运算符
符号 |
解释 |
== |
等于 |
~= |
不等于 |
> |
大于 |
< |
小于 |
>= |
大于或等于 |
<= |
小于或等于 |
print(1 == 1)
print(1 ~= 1)
print(2 > 1)
print(2 < 1)
print(2 >= 1)
print(2 <= 2)
10 or 20
10 or error()
nil or "a"
nil and 10
false and error()
false and nil
false or nil
10 and 20
逻辑运算符
这里以C#写法参照
Lua写法 |
C#写法 |
解释 |
or |
ll |
与 |
and |
&& |
或 |
not |
! |
非 |
t = true
f = false
print("or", t or f)
print("and", t and f)
print("not", not (t))
其他运算符
符号 |
解释 |
# |
长度运算符,返回字符串或表的长度 |
.. |
字符串拼接 |
& |
bitwise AND |
| |
bitwise OR |
~ |
bitwise exclusive OR |
>> |
右移 |
<< |
左移 |
~ |
unary bitwise NOT |
table = {
1, 2, 3, 4, 5}
print("Hello" .. "World")
print(#table)
print(#"1234")
注意:# 在返回表长度时有坑
运算符优先级
or
and
< > <= >= ~= ==
|
~
&
<< >>
..
+ -
* / // %
unary operators (not # - ~)
^