标签:避免 inf else 相等 tables 其他 lua 操作符 nil
Lua中的表达式包括数字常量、字符串常量、变量、一元和二元运算符、函数调用。还可以是非传统的函数定义和表构造。
算术运算
二元运算符:+ - * / ^ (加减乘除幂)
一元运算符:- (负值)
这些运算符的操作数都是实数。
关系运算符
< > <= >= == ~=
这些操作符返回结果为false或者true;==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;nil只和自己相等。Lua通过引用比较tables、userdata、functions。也就是说当且仅当两者表示同一个对象时相等。
Lua比较数字按传统的数字大小进行,比较字符串按字母的顺序进行,但是字母顺序依赖于本地环境。
字符串 2和字符串15比较的时候,按照字母顺序比较的时候,首先字符2和字符1进行比较,2大于1,忽略后面的比较操作。
为了避免不一致的结果,混合比较数字和字符串,Lua会报错,比如:2 < "15"
当出现数字和字符串进行比较的时候会出现错误。
逻辑运算符
and or not
逻辑运算符认为false和nil是假(false),其他为真,0也是true. and和or的运算结果不是true和false,而是和它的两个操作数相关。
可以用if else来类比and和or的概念
标签:避免 inf else 相等 tables 其他 lua 操作符 nil
原文地址:https://www.cnblogs.com/namestc/p/9496550.html