mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-24 01:51:38 +00:00
- add where and guard examples
This commit is contained in:
parent
618f8f5bad
commit
99b2c3db37
@ -149,6 +149,14 @@ var explicitEmptyMutableDictionary: [String: Float] = [:] // same as above
|
|||||||
// MARK: Control Flow
|
// MARK: Control Flow
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// Condition statements support "where" clauses, which can be used
|
||||||
|
// to help provide conditions on optional values.
|
||||||
|
// Both the assignment and the "where" clause must pass.
|
||||||
|
let someNumber = Optional<Int>(7)
|
||||||
|
if let num = someNumber where num > 3 {
|
||||||
|
print("num is greater than 3")
|
||||||
|
}
|
||||||
|
|
||||||
// for loop (array)
|
// for loop (array)
|
||||||
let myArray = [1, 1, 2, 3, 5]
|
let myArray = [1, 1, 2, 3, 5]
|
||||||
for value in myArray {
|
for value in myArray {
|
||||||
@ -198,7 +206,6 @@ default: // required (in order to cover all possible input)
|
|||||||
let vegetableComment = "Everything tastes good in soup."
|
let vegetableComment = "Everything tastes good in soup."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// MARK: Functions
|
// MARK: Functions
|
||||||
//
|
//
|
||||||
@ -240,7 +247,7 @@ let (_, price1, _) = pricesTuple // price1 == 3.69
|
|||||||
print(price1 == pricesTuple.1) // true
|
print(price1 == pricesTuple.1) // true
|
||||||
print("Gas price: \(price)")
|
print("Gas price: \(price)")
|
||||||
|
|
||||||
// Named tuple params
|
// Labeled/named tuple params
|
||||||
func getGasPrices2() -> (lowestPrice: Double, highestPrice: Double, midPrice: Double) {
|
func getGasPrices2() -> (lowestPrice: Double, highestPrice: Double, midPrice: Double) {
|
||||||
return (1.77, 37.70, 7.37)
|
return (1.77, 37.70, 7.37)
|
||||||
}
|
}
|
||||||
@ -250,6 +257,18 @@ let (_, price3, _) = pricesTuple2
|
|||||||
print(pricesTuple2.highestPrice == pricesTuple2.1) // true
|
print(pricesTuple2.highestPrice == pricesTuple2.1) // true
|
||||||
print("Highest gas price: \(pricesTuple2.highestPrice)")
|
print("Highest gas price: \(pricesTuple2.highestPrice)")
|
||||||
|
|
||||||
|
// guard statements
|
||||||
|
func testGuard() {
|
||||||
|
// guards provide early exits or breaks, placing the error handler code near the conditions.
|
||||||
|
// it places variables it declares in the same scope as the guard statement.
|
||||||
|
guard let aNumber = Optional<Int>(7) else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
print("number is \(aNumber)")
|
||||||
|
}
|
||||||
|
testGuard()
|
||||||
|
|
||||||
// Variadic Args
|
// Variadic Args
|
||||||
func setup(numbers: Int...) {
|
func setup(numbers: Int...) {
|
||||||
// its an array
|
// its an array
|
||||||
|
Loading…
Reference in New Issue
Block a user