來自:https://www.cnblogs.com/Jqxing/p/4807719.html
這邊并非說lua低級,為了友善區分才這麼寫的。
進階語言中的邏輯運算符是&&,||,!
a&&b : 當a和b都為真, 結果傳回為真,當a或者b有一個為假,結果傳回為假
a||b:當a和b中的一個為真時,結果傳回為真,當a和b同時為假,結果傳回為真
!a:當a為真時,結果傳回為假,當a為假時,結果傳回為真
lua語言中的邏輯運算符and,or,not(從字面意思上了解和進階語言中的意思差不多,但是傳回結果差很多)
a and b:當a為真時傳回b,當a為假時,傳回a <=> 條件表達式 a?b:a
a or b:當a為真時傳回a, 當a為假時傳回b <=>條件表達式 a?a:b
not a:當a為真時傳回假,當a為假時傳回真 <=>條件表達式 a?false:true
not和其他進階語言中的!意思是一樣的,傳回的是一個邏輯值真或者加
但是and,or和&&,||的差別在與前者傳回一個具體的值,後者傳回一個邏輯真或者假
lua小技巧:
x = x or b <=> x?x:b --如果x沒有值,則将b的值指派給他
(a and b) or c <=> a?b:c --a為真,傳回b 否則傳回c