खोज…


बूल क्या है?

बूल एक बूलियन प्रकार है जिसके दो संभावित मूल्य हैं: true और false

let aTrueBool = true
let aFalseBool = false

बूल का उपयोग नियंत्रण-प्रवाह के बयानों में स्थितियों के रूप में किया जाता है। if कथन यह निर्धारित करने के लिए कोड के किस ब्लॉक को निर्धारित करने के लिए बूलियन स्थिति का उपयोग करता है:

func test(_ someBoolean: Bool) {
    if someBoolean {
        print("IT'S TRUE!")
    }
    else {
        print("IT'S FALSE!")
    }
}
test(aTrueBool)  // prints "IT'S TRUE!"

उपसर्ग के साथ एक बूल को हटाएं! ऑपरेटर

उपसर्ग ! ऑपरेटर अपने तर्क की तार्किक उपेक्षा लौटाता है। यही है, !true false लौटता false , और !false true लौटता true

print(!true)  // prints "false"
print(!false) // prints "true"

func test(_ someBoolean: Bool) {
    if !someBoolean {
        print("someBoolean is false")
    }
}

बूलियन लॉजिकल ऑपरेटर्स

OR (||) संचालक सही लौटाता है यदि इसके दो संचालकों में से कोई एक सत्य का मूल्यांकन करता है, अन्यथा यह गलत है। उदाहरण के लिए, निम्न कोड सत्य का मूल्यांकन करता है क्योंकि OR ऑपरेटर के दोनों ओर कम से कम एक भाव सत्य है:

if (10 < 20) || (20 < 10) {
    print("Expression is true")
}

AND (&&) ऑपरेटर केवल तभी सही होता है जब दोनों ऑपरेंड सही होने का मूल्यांकन करते हैं। निम्न उदाहरण गलत वापस आएगा क्योंकि केवल दो ऑपरेंड अभिव्यक्तियों में से एक सत्य का मूल्यांकन करता है:

if (10 < 20) && (20 < 10) {
    print("Expression is true")
}

XOR (^) ऑपरेटर सही हो जाता है यदि एक और दो में से केवल एक ऑपरेंड सच का मूल्यांकन करता है। उदाहरण के लिए, निम्न कोड सही हो जाएगा क्योंकि केवल एक ऑपरेटर सही होने का मूल्यांकन करता है:

if (10 < 20) ^ (20 < 10) {
    print("Expression is true")
}

बूलियन और इनलाइन कंडीशंस

बूलियंस को संभालने का एक साफ तरीका एक के साथ एक इनलाइन सशर्त का उपयोग कर रहा है? b: c ternary ऑपरेटर, जो स्विफ्ट के बेसिक ऑपरेशंस का हिस्सा है।

इनलाइन सशर्त 3 घटकों से बना है:

question ? answerIfTrue : answerIfFalse

जहां प्रश्न एक बूलियन है जिसका मूल्यांकन किया गया है और यदि प्रश्न सत्य है, तो आंसर की लौटा दी जाती है और यदि प्रश्न गलत है तो आंसर की लौटा दी जाती है।

उपरोक्त अभिव्यक्ति इस प्रकार है:

if question {
    answerIfTrue
} else {
    answerIfFalse
}

इनलाइन सशर्तियों के साथ आप बूलियन के आधार पर एक मान लौटाते हैं:

func isTurtle(_ value: Bool) {
    let color = value ? "green" : "red"
    print("The animal is \(color)")
}

isTurtle(true) // outputs 'The animal is green'
isTurtle(false) // outputs 'The animal is red'

आप बुलियन मूल्य के आधार पर विधियों को भी कॉल कर सकते हैं:

func actionDark() {
    print("Welcome to the dark side")
}

func actionJedi() {
    print("Welcome to the Jedi order")
}

func welcome(_ isJedi: Bool) {
    isJedi ? actionJedi() : actionDark()
}

welcome(true) // outputs 'Welcome to the Jedi order'
welcome(false) // outputs 'Welcome to the dark side'

इनलाइन सशर्तियां स्वच्छ वन-लाइनर बूलियन मूल्यांकन की अनुमति देती हैं



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow