這邊並非說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