Ricerca…


Cos'è Bool?

Bool è un tipo booleano con due valori possibili: true e false .

let aTrueBool = true
let aFalseBool = false

Le bols sono usate nelle dichiarazioni del flusso di controllo come condizioni. L' istruzione if usa una condizione booleana per determinare quale blocco di codice eseguire:

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

Annulla un Bool con il prefisso! operatore

Il prefisso ! l'operatore restituisce la negazione logica del suo argomento. Cioè !true restituisce false , e !false restituisce true .

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

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

Operatori logici booleani

L'operatore OR (||) restituisce true se uno dei suoi due operandi restituisce true, altrimenti restituisce false. Ad esempio, il codice seguente restituisce true perché almeno una delle espressioni su entrambi i lati dell'operatore OR è vera:

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

L'operatore AND (&&) restituisce true solo se entrambi gli operandi valgono come veri. L'esempio seguente restituirà false perché solo una delle due espressioni di operando restituisce true:

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

L'operatore XOR (^) restituisce true se uno e solo uno dei due operandi restituisce true. Ad esempio, il codice seguente restituirà true poiché solo un operatore valuta essere vero:

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

Booleans e Inline Conditionals

Un modo pulito per gestire i booleani è l'utilizzo di un condizionale in linea con l'a? b: c operatore ternario, che fa parte delle operazioni di base di Swift.

Il condizionale in linea è costituito da 3 componenti:

question ? answerIfTrue : answerIfFalse

dove domanda è un valore booleano che viene valutato e answerIfTrue è il valore restituito se la domanda è vera e answerIfFalse è il valore restituito se la domanda è falsa.

L'espressione sopra è la stessa di:

if question {
    answerIfTrue
} else {
    answerIfFalse
}

Con condizionali in linea si restituisce un valore basato su un valore booleano:

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'

Puoi anche chiamare metodi basati su un valore booleano:

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'

I condizionali in linea consentono valutazioni booleane a una sola riga



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow