lua中的運算子

2021-07-22 10:25:06 字數 1684 閱讀 2839

在學習一門語言的時候,運算子也是一項必要的單元,在用lua寫成的**中,必定會用到運算子,現在就lua的運算子做一下總結:

運算子一般分為算術運算子,關係運算子和邏輯運算子,連線運算子

算術運算子:

二元運算子:+ - * / ^ (加減乘除冪)

一元運算子:- (負值)

這些運算子的運算元都是實數

關係運算子:

< >

<= >= == ~=

這些操作符返回結果為false或者true;==和~=比較兩個值,如果兩個值型別不同,lua認為兩者不同;nil只和自己相等。lua通過引用比較tables、userdata、functions。也就是說當且僅當兩者表示同乙個物件時相等

注意:lua比較數字按傳統的數字大小進行,比較字串按字母的順序進行,但是字母順序依賴於本地環境

為了避免不一致的結果,混合比較數字和字串,lua會報錯,比如:2 < 「15」

邏輯運算子:

and

ornot

邏輯運算子認為false和nil是假(false),其他為真,0也是true.

and和or的運算結果不是true和false,而是和它的兩個運算元相關。

a

and b -- 如果a為false,則返回a,否則返回b

aor b -- 如果a為true,則返回a,否則返回b

print(4

and5) -->

5print(nil and

13) --> nil

print(false

and13) -->

false

print(4

or5) -->

4print(false

or5) -->

5--以此證明and和or返回的不是true或者是false,而是和兩個運算元相關

x = x or v  --如果x為false或者nil則給x賦初始值v
c語言中的三元運算子

a ? b : c
在lua中可以這樣實現:

(a

and b) or c

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

print(not nil) -->

true

print(not

false) -->

true

print(not

0) -->

false

print(not

not nil) -->

false

連線運算子:

..
字串連線,如果運算元為數字,lua將數字轉成字串。

print("hello " .. "world") --> hello world

print(0 .. 1) --> 01

優先順序:從高到低的順序

^

not - (unary)

* /+ -

..< > <= >= ~= ==

andor

lua 範例 Lua 運算子

lua 運算子 運算子是乙個特殊的符號,用於告訴直譯器執行特定的數學或邏輯運算。lua提供了以下幾種運算子型別 算術運算子 關係運算子 邏輯運算子 其他運算子 算術運算子 下表列出了 lua 語言中的常用算術運算子,設定 a 的值為10,b 的值為 20 操作符描述例項 加法a b 輸出結果 30 ...

Lua(七) 運算子

注意lua中沒有 這些運算子 加 減 乘 除 餘 冪 負lua中沒有float,double等型別,所有數字都是number型別,所以計算所得數字是多少就是多少 lua中 只能用作數字計算,不能用作字串連線 等於 不等於 大於等於 小於等於 大於 and 邏輯與 or 邏輯或 not 邏輯非 lua...

Lua 運算子相關

運算子1.算數運算子 冪 2.關係雲演算法 不等於 3.邏輯運算子 and 與 等於 都為true or 或 等於 有乙個為true,則true not 非 等於 a為true,not a 則取反 為 false x,y 2,4s x y print s s x y print s s x y pr...