Lua基础之运算符的使用示例

时间:2021-05-22

众所周知,C,C++,python等语言都有运算符,那么Lua也不例外,因为它是C写的嘛!

Lua分为主要三类运算符,分别是算术运算符,关系运算符,逻辑运算符,还有特殊运算符。

1、算术运算符有: + (加) -(减) *(乘) /(除) %(取模) ^(求幂) -(符号)

来看一个例子:test6.lua

num1 = 4 ;num2 = 2 ;print(num1+num2);print(num1-num2);print(num1*num2);print(num1/num2);print(num1%num2);print(num1^num2);print(-num1);

解释运行:lua test6.lua

结果:

6
2
8
2.0
0
16.0
-4

2、关系运算符有: ==(等于) ~=(不等于) >(大于) <(小于) >=(大于等于) <=(小于等于)

当比较结果成立返回true,否则返回false

来看一个例子: test6.lua

num = 1 ;num1 = 1;num2 = 2;num3 = 3; num4 = 4;num5 = 5;num6 = 6;ret = num1 == num2 ;print(ret);ret = num1 ~= num2 ; print(ret);ret = num3 > num2 ;print(ret);ret = num4 < num3 ; print(ret);ret = num5 >= num6 ;print(ret);ret = num1 <= num ;print(ret);

解释运行:lua test6.lua

结果:

false
true
true
false
false
true

3、逻辑运算符有: and(逻辑与) or(逻辑或) not(逻辑非)

假设有A和B,如果A and B, 为真返回A,为假返回B

假设有A和B ,如果A or B , 为真返回A ,为假返回B

假设有A和B ,如果 not A , 为真返回true ,为假返回false

来看一个例子:test6.lua

num1 = 100 ;num2 = 200 ;num3 = 0 ;ret = num1 and num3 ; print(ret);ret = num1 or num3 ; print(ret);ret = not num1 ;print(ret);ret = not(num1 and num2);print(ret);

解释运行:lua test6.lua

结果:

0
100
false
false

4、特殊运算符

.. 表示连接两个字符串 #表示返回字符串或者表的长度(注意,这里的长度不包括'\0')

案例: test6.lua

--定义两个字符串str1 = "Hello";str2 = "World";--连接两个字符串ret = str1..str2;print(ret);--获取连接后的字符串的长度str_length = #ret ;print(str_length);

解释运行: lua test6.lua

结果:

HelloWorld
10

当然,lua的运算符也是有优先级的,优先级从高到底的顺序为:

^ not -(负号) * / + - .. < > <= >= ~= == and or

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章