Zoeken…


Wat is Bool?

Bool is een Boolean type met twee mogelijke waarden: true en false .

let aTrueBool = true
let aFalseBool = false

Bools worden als condities in besturingsstroomverklaringen gebruikt. De instructie if gebruikt een Booleaanse voorwaarde om te bepalen welk codeblok moet worden uitgevoerd:

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

Ontken een Bool met het voorvoegsel! operator

Het voorvoegsel ! operator retourneert de logische ontkenning van zijn argument. Dat wil zeggen !true retourneert false en !false retourneert true .

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

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

Booleaanse logische operatoren

De operator OR (||) retourneert true als een van de twee operanden evalueert naar true, anders retourneert deze false. De volgende code wordt bijvoorbeeld geëvalueerd als true omdat ten minste een van de expressies aan weerszijden van de operator OF waar is:

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

De operator AND (&&) retourneert alleen true als beide operanden als waar evalueren. In het volgende voorbeeld wordt false geretourneerd, omdat slechts een van de twee operand-expressies de waarde true geeft:

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

De operator XOR (^) retourneert true als een en slechts een van de twee operanden de waarde true geeft. De volgende code retourneert bijvoorbeeld true, omdat slechts één operator als waar beoordeelt:

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

Booleans en Inline Conditionals

Een schone manier om met booleans om te gaan, is een inline voorwaardelijk te gebruiken met de a? b: c ternaire operator, die deel uitmaakt van Swift Basishandelingen .

De inline conditionele bestaat uit 3 componenten:

question ? answerIfTrue : answerIfFalse

waarbij vraag een Booleaanse waarde is die wordt geëvalueerd en answerIfTrue is de geretourneerde waarde als de vraag waar is en answerIfFalse is de geretourneerde waarde als de vraag onwaar is.

De bovenstaande uitdrukking is dezelfde als:

if question {
    answerIfTrue
} else {
    answerIfFalse
}

Met inline conditionals retourneert u een waarde op basis van een booleaanse waarde:

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'

U kunt ook methoden aanroepen op basis van een booleaanse waarde:

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'

Inline conditionals zorgen voor schone Booleaanse evaluaties met één voering



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow