Lua(七) 運算子

2021-09-16 14:28:32 字數 1780 閱讀 6332

注意lua中沒有 +=,-=,++這些運算子

+:加

-:減*:乘

/:除 

%:餘^:冪

-:負lua中沒有float,double等型別,所有數字都是number型別,所以計算所得數字是多少就是多少

lua中+只能用作數字計算,不能用作字串連線

==:等於

~=:不等於

>=:大於等於

<=:小於等於

>:大於

and:邏輯與

or:邏輯或

not:邏輯非

lua中沒有三目運算子,但是可以利用函式的傳值特性模擬出三目運算子:

這樣寫比較麻煩,可以利用and與or的短路特點將lua中的三目表示式寫為這樣result=a and b or c

嚴謹點來說這樣會出現乙個bug,但其實在應用中並不會出現這種bug:

——b為true時

a為true,a and b為true,結果為b

a為false,a and b為false,結果為c

——b為false時

a為true,a and b為false,結果為c

a為false,a and b為false,結果為c

發現當b為false時,即使a為true結果也會是c

解決方法如下:

因為b和c並沒有判斷的意義,他們本應該都為true,所以可以將b和c放入表中,這樣即使也是true

最後演變為:(a and or )[1]

但是在實際應用中b和c也本應該都為true,所以a and b or c也可以!

注意和算術運算子區分開

#:獲取字串或者表的長度

——獲取字串長度

獲取的是位元組長度(乙個漢字佔兩個位元組)

——獲取表長度

#只能獲取用陣列方式初始化的表,由此可以推斷出表的引數為可變引數時,arg可以用#獲取到長度是因為lua內部將它定義為乙個陣列型別

lua 範例 Lua 運算子

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

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...

Lua學習 運算子

運算子分為 1.算術運算子 2.條件運算子 3.邏輯運算子 4.位運算子 5.三元運算子 在lua中不支援位運算子和三位運算子,但是可以間接實現三元運算子 1.算術運算子 冪運算子 注意 lua中沒有 2.條件運算子 and or,not 注意 lua中的條件運算子就這三個,沒有 3.邏輯運算子 注...