Buscar..


¿Qué es Bool?

Bool es un tipo booleano con dos valores posibles: true y false .

let aTrueBool = true
let aFalseBool = false

Bools se utilizan en las declaraciones de control de flujo como condiciones. La instrucción if usa una condición booleana para determinar qué bloque de código se ejecutará:

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

Niega un Bool con el prefijo! operador

El prefijo ! El operador devuelve la negación lógica de su argumento. Es decir !true devuelve false , y !false devuelve true .

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

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

Operadores lógicos booleanos

El operador OR (||) devuelve verdadero si uno de sus dos operandos se evalúa como verdadero, de lo contrario, devuelve falso. Por ejemplo, el siguiente código se evalúa como verdadero porque al menos una de las expresiones a ambos lados del operador OR es verdadera:

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

El operador AND (&&) devuelve verdadero solo si ambos operandos evalúan ser verdaderos. El siguiente ejemplo devolverá falso porque solo una de las dos expresiones de operando se evalúa como verdadera:

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

El operador XOR (^) devuelve verdadero si uno y solo uno de los dos operandos se evalúa como verdadero. Por ejemplo, el siguiente código devolverá verdadero ya que solo un operador evalúa ser verdadero:

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

Booleanos y condicionales en línea

Una forma limpia de manejar los booleanos es usar un condicional en línea con a? b: operador ternario, que forma parte de las Operaciones Básicas de Swift.

El condicional en línea se compone de 3 componentes:

question ? answerIfTrue : answerIfFalse

donde question es un valor booleano que se evalúa y answerIfTrue es el valor devuelto si la pregunta es verdadera, y answerIfFalse es el valor devuelto si la pregunta es falsa.

La expresión de arriba es la misma que:

if question {
    answerIfTrue
} else {
    answerIfFalse
}

Con los condicionales en línea, devuelve un valor basado en un valor 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'

También puede llamar a métodos basados ​​en un valor 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'

Los condicionales en línea permiten realizar evaluaciones booleanas limpias de una línea



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow