一、算术操作符
Lua支持常规的算术操作符,+(加)、-(减)、*(乘)、/(除)、^(指数)、%(取模)、-(负号)。
取模%运算的定义是 a % b = a - floor(a/b)*b; floor函数是指向下取整。
但在Lua中,x % 1结果就是x的小数部分;而x - x % 1结果就是x的整数部分。类似的,x - x % 0.01结果就是x精确到小数点精确到小数点后两位。
二、关系操作符
Lua提供了>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、==(等于)、~=(不等于)等关系操作符。 操作符的运算结果是true或者false。
任意两个值都可以做比较,如果两个值的类型不同,那么就是不相等。nil与其自身相等。
对于table、userdata和函数,Lua都是做引用比较的。只有他们引用同一对象时,才相等。
Lua在比较字符串时,是按照字母次序去比较的。
三、逻辑表达式
lua的逻辑表达式有or、and、not。所有的逻辑操作符将false和nil视为假,其他都视为真。
对于or来说,如果它的第一个操作数为真,则返回第一个操作数,否则返回第二个操作数。
对于and来说,如果第一个操作数为假,则返回第一个操作数,否则返回第二个操作数。
对于not来说,永远只返回true或者false。
四、字符串连接
lua中用..连接两个字符串。例如print("Hello" .. "World")输出就是HelloWolrd。
五、操作符优先级
左表的优先级从高到低,优先级越来越低。
如果不清楚优先级的话,用()。