经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Lua » 查看文章
Lua基础之运算符的使用示例
来源:jb51  时间:2018/12/20 9:45:28  对本文有异议

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

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

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

来看一个例子:test6.lua

  1. num1 = 4 ;
  2. num2 = 2 ;
  3. print(num1+num2);
  4. print(num1-num2);
  5. print(num1*num2);
  6. print(num1/num2);
  7. print(num1%num2);
  8. print(num1^num2);
  9. print(-num1);

解释运行:lua test6.lua

结果:

6
2
8
2.0
0
16.0
-4

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

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

来看一个例子: test6.lua

  1. num = 1 ;
  2. num1 = 1;
  3. num2 = 2;
  4. num3 = 3;
  5. num4 = 4;
  6. num5 = 5;
  7. num6 = 6;
  8. ret = num1 == num2 ;
  9. print(ret);
  10. ret = num1 ~= num2 ;
  11. print(ret);
  12. ret = num3 > num2 ;
  13. print(ret);
  14. ret = num4 < num3 ;
  15. print(ret);
  16. ret = num5 >= num6 ;
  17. print(ret);
  18. ret = num1 <= num ;
  19. 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

  1. num1 = 100 ;
  2. num2 = 200 ;
  3. num3 = 0 ;
  4. ret = num1 and num3 ;
  5. print(ret);
  6. ret = num1 or num3 ;
  7. print(ret);
  8. ret = not num1 ;
  9. print(ret);
  10. ret = not(num1 and num2);
  11. print(ret);

解释运行:lua test6.lua

结果:

0
100
false
false

4、特殊运算符

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

案例: test6.lua

  1. --定义两个字符串
  2. str1 = "Hello";
  3. str2 = "World";
  4. --连接两个字符串
  5. ret = str1..str2;
  6. print(ret);
  7. --获取连接后的字符串的长度
  8. str_length = #ret ;
  9. print(str_length);

解释运行: lua test6.lua

结果:

HelloWorld
10

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

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

总结

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号