算数运算符
符号 | 解释 |
---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
^ | 乘幂 |
- | 负号 |
// | 整除运算符 |
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 # - ~)
^