||(_:_:)
Performs a logical OR operation on two Boolean values.
Declaration
static func || (lhs: Bool, rhs: @autoclosure () throws -> Bool) rethrows -> BoolParameters
- lhs:
The left-hand side of the operation.
- rhs:
The right-hand side of the operation.
Discussion
The logical OR operator (||) combines two Boolean values and returns true if at least one of the values is true. If both values are false, the operator returns false.
This operator uses short-circuit evaluation: The left-hand side (lhs) is evaluated first, and the right-hand side (rhs) is evaluated only if lhs evaluates to false. For example:
let majorErrors: Set = ["No first name", "No last name", ...]
let error = ""
if error.isEmpty || !majorErrors.contains(error) {
print("No major errors detected")
} else {
print("Major error: \(error)")
}
// Prints "No major errors detected"In this example, lhs tests whether error is an empty string. Evaluation of the || operator is one of the following:
When
erroris an empty string,lhsevaluates totrueandrhsis not evaluated, skipping the call tomajorErrors.contains(_:). The result of the operation istrue.When
erroris not an empty string,lhsevaluates tofalseandrhsis evaluated. The result of evaluatingrhsis the result of the||operation.