天天看點

lua 邏輯運算 and, or, not【轉】

來自: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      

繼續閱讀