码云代码链接
https://gitee.com/wenwenc9/lua_pro.git
一、运算符
1 算术运算符
a = 21
b = 10
print(a + b) -- 31
print(a - b) -- 11
print(a * b) -- 210
print(a / b) -- 2.1
print(a % b) -- 1
print(a ^ b) -- 16679880978201
print(-a) -- 21
2 关系运算符
a = 21
b = 10
print(a == b)
print(a ~= b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
3 逻辑运算符
a and b
-- 如果 a 为 false,则返回 a,否则返回 b
a or b -- 如果 a 为 true,则返回 a,否则返回 b
C 语言中的三元运算符
a ? b : c
在 Lua 中可以这样实现:(lua中没有三目运算符)
(a and b) or c
a = 21
b = 10
print(a and b)
print(a or b)
print(not a)
4 其它运算符
字符串拼接:
..
打印字符串长度
#
print('1' .. 1)
print('a'.. 'b')
print('1' .. '2')
print(#'abc')
5 运算符优先级
从高到低的顺序:
^
not - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or
除了^和…外所有的二元运算符都是左连接的
a+i < b/2+1 <--> (a+i) < ((b/2)+1)
5+x^2*8 <--> 5+((x^2)*8)
a < y and y <= z <--> (a < y) and (y <= z)
-x^2 <--> -(x^2)
x^y^z <--> x^(y^z)
例子
a = 20
b = 10
c = 15
d = 5
result = (a + b) * c / d
print(result) -- 90
result = ((a + b) * c) / d
print(result) -- 90
result = (a + b) * (c / d)
print(result) -- 90
result = a + (b * c) / d
print(result) -- 50