1.优先级

首先先了解运算符优先级,下图所示:

顺序从高到低

Lua基础操作<运算符>_Lua白话文

2.运算符详解

2.1、算术运算符

二元运算符:^+ - * / (幂加减乘除)

一元运算符:-(负值)

这些运算符的操作数都是实数。

2.2、关系运算符

< > <= >= == ~=

操作符返回结果为 false 或者 true

Lua 比较数字按传统的数字大小进行,比较字符串按字母的顺序进行,字母顺

序依赖于本地环境。

项目中若混合比较字符串和数字则会报错。同时也要注意判空,避免造成较大影响.

tonumber () --转number         tostring()  --转string 

2.3、逻辑运算符

and or not

在lua中认为 false 和 nil 是假(false),其他为真,0 也是 true.

and 和 or 运算结果则和它们的操作数相关

例:

local a = false
local b = true
a and b --> a
a or b --> b
local a = true
local b = false
a and b --> b
a or b --> a

由此得出:

如果 前一位 为 false,则返回 前一位,否则返回 后一位

如果 前一位 为 true,则返回 前一位,否则返回 后一位

同时lua也有自己的三元表达式

(a and b) or c

not 的结果一直返回 false 或者 true

2.4、连接运算符

..  -->两个点

字符串连接,如果操作数为数字,Lua 将数字转成字符串。

例:print(“你好”..“51CTO”) --> "你好51CTO"

print(a..b) --> ab

print(88..99) --> 8899

部分细节借鉴与网络

lua不追求高大上的写法,简单方便即为真理