邏輯運算子

2021-09-06 14:04:35 字數 804 閱讀 4876

and    or     not

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

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

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

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

例如:print(4 and 5)           --> 5

print(nil and 13)        --> nil

print(false and 13)      --> false

print(4 or 5)            --> 4

print(false or 5)        --> 5

乙個很實用的技巧:如果x為false或者nil則給x賦初始值v

x = x or v

等價於if not x then

x = v

end

and的優先順序比or高。

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

邏輯運算子( , )

操作!是的 運算子不執行布林操作,有只有乙個運算元,位於其權利,和唯一,它確實是逆是它的價值,生產假如果真實,真實的,如果其運算元其運算元為false。基本上,它返回布林值,評價其運算元相反。例如 1 2 3 4 5 5 evaluates to false because the expressi...

邏輯運算子

邏輯運算子 符號 作用 符號 作用 或and 與 或 not 非 或or 或 xor 異或 與 運算 1 或者 and 是 與 運算的兩種表達方式。如果所有資料不為0且不為空值 null 則結果返回1 如果存在任何乙個資料為0,則結果返回0 如果存在乙個資料null且沒有資料為0,結果返回null。...

邏輯運算子

邏輯與 當兩個運算元的值都為true時,運算結果為true 邏輯或 只要兩個運算元中有乙個值為true時,運算結果就為true 邏輯非 對運算元取反,即true值非運算的結果false,false值非運算的結果為true 案例 test1 var a 1,b 0,c hello a b c worl...