【Lua基础学习】---Lua运算符
2018-02-07 00:02
316 查看
运算符
算术运算符
操作符 | 描述 |
---|---|
+ | 加法 |
- | 剪法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
^ | 幂运算 |
a = 10 b = 20 c = a + b print("a + b = ", c) c = a - b print("a - b = ", c) c = a * b print("a * b = ", c) c = a / b print("a / b = ", c) c = a % b print("a % b = ", c) c = a ^ 2 print("a ^ b = ", c) c = -a print("c = ", c)
输出结果:
a + b = 30 a - b = -10 a * b = 200 a / b = 0.5 a % b = 10 a ^ b = 100 c = -10
注意
Lua 中的加号不能用作字符串相连操作,而字符串相连操作是用” .. “。
在 Lua 中也不能使用 ++或 - -,若要在自身加一或减一使用本身减一或加一。如:A = A + 1 、 B = B - 1。
关系运算符
运算符 | 描述 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
~= | 不等于 |
a = 10 b = 20 print("a > b",a > b) print("a < b",a < b) print("a >= b", a >= b) print("a <= b", a <= b) print("a == b", a == b) print("a ~= b", a ~= b)
输出结果:
a > b false a < b true a >= b false a <= b true a == b false a ~= b true
注意:强调:加冕知识点:
: 在Lua中只有 false 和 nil被视为假。其他都视为真。和 C# 有很大区别。
逻辑运算符
lua 中的逻辑运算符和 C# 表达表达方式不同。其意义相同。操作符 | 描述 |
---|---|
and | 逻辑与 |
or | 逻辑或 |
not | 逻辑非 |
a = true b = false a = true b = false print("a and b = ", a and b)--逻辑与操作符。若 a 为 fakse,则返回 a,否则返回b. print("a or b = ", a or b) -- 若 a 为 true, 则返回 a,否则返回 b. print("not a = ", not a)--如果条件为 true,返回 false
输出结果:
a and b = false a or b = true not a = false
使用技巧: 如果 x 为 false 或者 nil 则给 x 赋初始值 v x = x or v 等价于 if(not x) then x = v end
lua中的三目运算:
三目运算符: 在 Lua 中没有三目运算,可以用 and 和 or 模拟。 a and b or c 这种写法当 b 为 false 始终返回 c,也就是说 b 不能为 false 和 nil。 两种方式避免这种情况 1、使用 if-else避免。 2、使用 table 表: (a and {b} or {c})[1]
操作符 | 描述 |
---|---|
.. | 连接两个字符串 |
# | 返回字符串或表的长度 |
1、只有当键值是连续的数值键值时, 返回值才是有意义的。
2、当 table 中, 存在 nil 时, # 返回的数值也是无意义的。
只有当 table 的键值是连续数值时, # 返回值才是有意义的。 如果在 table 中,
存在非数值键值, 或者 nil时,其 table 并不是一个序列, 因此# table并未定义,
其返回值就无意义, 也就是说 #table 值可能在不同的平台上, 返回值不一样。
优先级顺序
优先级顺序 ^ not # - (一元) * / % + - .. > < <= >= ~= == and or
相关文章推荐
- Lua基础学习1——类型和运算符
- Lua基础学习开篇——类型和运算符
- Python新手学习基础之运算符——赋值与逻辑运算
- 【学习笔记三】最基本的JAVA基础[数据类型,运算符]
- java===java基础学习(2)---运算符,三元操作符,数学函数
- 数据类型,运算符和表达式04 - 零基础入门学习C语言05
- [Lua基础学习]---Lua函数
- 0基础lua学习(三)关系运算符
- JAVA基础day02 java关键字 进制转换 运算符学习
- 0基础lua学习(二十一)分割字符串逗号
- Redis基础学习--脚本(Lua语言)
- Python新手学习基础之运算符——比较运算符
- MATLAB基础学习---运算符与常用函数
- Java基础学习2--数据类型与运算符
- Python3学习笔记【基础1--数据类型,运算符】
- C语言基础学习运算符-关系运算符
- Python新手学习基础之运算符——比较运算符
- C语言基础学习运算符-关系运算符
- lua语言-《lua程序设计》1~5章基础学习
- Python新手学习基础之运算符——成员运算与身份运算