lua: 运算符易错点: and or 连接符'..'
来源:互联网 发布:17网广州网络批发市场 编辑:程序博客网 时间:2024/06/01 09:25
在C++中,&&表示并且,||表示或.
而在lua中用 and表示且, or表示或.然而还是有一些小伙伴搞不清楚lua中的用法…我将在下面进行举例说明,看完例子,你基本完全懂了..
首先,你必须要知道:
在lua中,只有false和nil是false,其他一切都是true的.包括0,NULL都是true…
1.and示例:
--直接输出.print((5>3 and 5)); --结果为5.因为左边是true的,所以判断整体是否为true,就还要看右边,所以输出的是右边的值.--print((5<3 and 8)); --结果为false,因为左边明显是false,则整体一定为false了,所以就忽略右边了,也就是C++中的短路原则,貌似是这么叫的把...所以直接输出左边的值.
2.or示例:
--直接输出.print(5>3 or 5); --结果为true,因为左边是true,所以不用看右边了,直接输出左边的值.print(5<3 or 8); --结果为8,因为左边是false,所以光看左边是无法得知整个式子的值的,所以直接输出右边.
…发现之前的示例都没放nil,所以再来两个..
print(nil and 10); --左边为nil,也就是false,所以不用看右边,直接输出nil.//print(nil or 20); --左边是nil,也就是false,所以要看右边,所以直接输出20.
- ‘..’运算符
当我们使用C++的STL的string字符串时,由于库中的string类自己重载了’+’运算符,所以我们都用的随心所欲的,十分的方便,但是在lua中,是不能直接这样做的,所以lua提供了’..’连接运算符,用两个点来连接两个字符串,接下来看示例:
--发现自己加分号的习惯改不了了,怎么办....--这样是错误的...print("hello "+"world"); --错误.--用'..'来连接两个字符串.print("hello ".."world"); -- 输出 hello world
当然也可以这样使用,看起来看明显一点.
a = "你好,"--用连接符,把新的字符串连接到a上,然后把值赋给a.a = a.." 世界!"print(a); --输出结果 你好,世界!
4.’..’运算符也可以在数字之间使用..
a = 5;--输出原类型为numberprint(type(a));--把6加到5的后面a = 5 ..6print(a); --输出结果为56print(type(a)); --输出类型为string
阅读全文
0 0
- lua: 运算符易错点: and or 连接符'..'
- AND & OR 运算符
- Lua逻辑and和or的设计和三目运算符
- SQL AND & OR 运算符
- SQL ----AND & OR 运算符
- SQL AND & OR 运算符
- SQL AND & OR 运算符
- AND 和 OR 运算符
- SQL AND &OR 运算符
- SQL AND & OR 运算符
- 4、 AND & OR 运算符
- SQL AND & OR 运算符
- SQL AND & OR 运算符
- lua and or not 逻辑运算符
- lua and or not 逻辑运算符
- lua and or not 逻辑运算符
- lua and or not
- python中运算符and、or、not
- 7-1 两个有序链表序列的合并
- 创建4个线程,4个线程同时对一个文件进行修改。线程1负责向文件写入A,线程2负责向文件写入B,线程3负责写入C,线程4负责写入D。最终文件里的内容应该是ABCDABCDABCD....循环10次;
- javascript中if(a)不同情况下的结果
- 【深度学习】卷积神经网络简介
- TestNG入门教程-6-enabled和priority属性
- lua: 运算符易错点: and or 连接符'..'
- java实现基本排序(一)冒泡排序
- TensorFlow实战:Chapter-8上(Mask R-CNN介绍与实现)
- 次序关系
- C++类模板
- 单链表和顺序表的逆置问题
- 学习问题:图像内插-最近邻内插法
- UIAlertController 输入文本框
- 数据结构实验之二叉树五:层序遍历