Lua学习笔记:运算符

算数运算符

符号 解释
+ 加法
- 减法
* 乘法
/ 除法
% 取余
^ 乘幂
- 负号
// 整除运算符
print(10 + 20)  --> 30
print(20 - 10)  --> 10
print(20 * 10)  --> 200
print(20 / 10)  --> 2.0
print(9 % 5)    --> 4
print(2 ^ 3)    --> 8.0
print(-10)      --> -10
print(5 // 2)   --> 2

关系运算符

符号 解释
== 等于
~= 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
print(1 == 1) -- > true
print(1 ~= 1) -- > false 
print(2 > 1) -- > true
print(2 < 1) -- > false
print(2 >= 1) -- > true
print(2 <= 2) -- > true

10 or 20            --> 10
10 or error()       --> 10
nil or "a"          --> "a"
nil and 10          --> nil
false and error()   --> false
false and nil       --> false
false or nil        --> nil
10 and 20           --> 20

逻辑运算符

这里以C#写法参照

Lua写法 C#写法 解释
or ll
and &&
not !
t = true
f = false
print("or", t or f)   -- > ture
print("and", t and f) -- > false
print("not", not (t)) -- > false

其他运算符

符号 解释
# 长度运算符,返回字符串或表的长度
.. 字符串拼接
& bitwise AND
| bitwise OR
~ bitwise exclusive OR
>> 右移
<< 左移
~ unary bitwise NOT
table = {
    
    1, 2, 3, 4, 5}
print("Hello" .. "World") -- > "HelloWorld"
print(#table)             -- > 5
print(#"1234")            -- > 4

注意:# 在返回表长度时有坑

运算符优先级

 or
 and
 <     >     <=    >=    ~=    ==
 |
 ~
 &
 <<    >>
 ..
 +     -
 *     /   //    %
 unary operators (not   #     -     ~)
 ^

猜你喜欢

转载自blog.csdn.net/wa36d/article/details/127356302
今日推荐