Swift組合邏輯

來源:互聯網
上載者:User

標籤:

 1 我們可以組合多個邏輯運算來表達一個複合邏輯: 2 if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword { 3     println("Welcome!") 4 } else { 5     println("ACCESS DENIED") 6 } 7 // 輸出 "Welcome!" 8 這個例子使用了含多個&&和||的複合邏輯。但無論怎樣,&&和||始終只能操作兩個值。所以這實際是三個簡單邏輯連續操作的結果。我們來解讀一下: 9 10 如果我們輸入了正確的密碼並通過了視網膜掃描; 或者我們有一把有效鑰匙; 又或者我們知道緊急情況下重設的密碼,我們就能把門開啟進入。11 12 前兩種情況,我們都不滿足,所以前兩個簡單邏輯的結果是false,但是我們是知道緊急情況下重設的密碼的,所以整個複雜運算式的值還是true。13 使用括弧來明確優先順序14 15 為了一個複雜運算式更容易讀懂,在合適的地方使用括弧來明確優先順序是很有效,雖然它並非必要的。在上個關於門的許可權的例子中,我們給第一個部分加個括弧,使用它看起來邏輯更明確:16 if (enteredDoorCode && passedRetinaScan) || hasDoorKey || knowsOverridePassword {17     println("Welcome!")18 } else {19     println("ACCESS DENIED")20 }21 // 輸出 "Welcome!"22 這括弧使得前兩個值被看成整個邏輯表達中獨立的一個部分。雖然有括弧和沒括弧的輸出結果是一樣的,但對於讀代碼的人來說有括弧的代碼更清晰。可讀性比簡潔性更重要,請在可以讓你代碼變清晰地地方加個括弧吧!

 

Swift組合邏輯

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.