在Lua中合理使用and,or,not可提高代碼效率,減少代碼量,增加可讀性。
Lua邏輯運算符and,or,not規則如下:
設定 A 的值爲 true,B 的值爲 false:
操作符 | 描述 | 實例 |
and | 邏輯與操作符。 若 A 爲 true,則返回 B;若A爲false,則返回A。 | (A and B) 爲 false。 |
or |
邏輯或操作符。 若 A 爲 true,則返回 A,若A爲false,則返回 B。 | (A or B) 爲 true。 |
not | 邏輯非操作符。與邏輯運算結果相反,如果條件爲 true,邏輯非爲 false。 | not(A and B) 爲 true。 |
優先級and>or,意味着當一行代碼同時出現and與or的時候,先進行and操作。
A or B and C == A or (B and C)
例子:
print('---------------and--------------------')
print(true and true)
print(true and false)
print(false and true)
print(false and false)
print('---------------or---------------------')
print(true or true)
print(true or false)
print(false or true)
print(false or false)
print('--------------not---------------------')
print(not(true))
print(not(false))
print('------------and,or-------------------')
print(true or false and false)
輸出: