关系运算符

烂漫一生 提交于 2020-02-29 01:55:38

<      >      <=     >=     ==     ~=

这些操作符返回结果为false或者true;==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;nil只和自己相等。Lua通过引用比较tables、userdata、functions。也就是说当且仅当两者表示同一个对象时相等。

a = {}; a.x = 1; a.y = 0

b = {}; b.x = 1; b.y = 0

c = a

a==c but a~=b

Lua比较数字按传统的数字大小进行,比较字符串按字母的顺序进行,但是字母顺序依赖于本地环境。

当比较不同类型的值的时候要特别注意:

"0" == 0       -- false

2 < 15         -- true

"2" < "15"     -- false (alphabetical order!)

为了避免不一致的结果,混合比较数字和字符串,Lua会报错,比如:2 < "15"

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!