 
 
 
-
+*/
 
 
 

    return false
}

func lessThanTen(num: Int) -> Bool {
    return num < 10
}

var numbers = [12, 8, 3, 45, 23]
//lessThanTen函数 当做 参数 传入 hasSmallNum函数 ！！！
hasSmallNum(numbers, condition: lessThanTen)


// 6.函数实际上是一种特殊的闭包:它是一段能之后被调取的代码
let mappedNumbers = numbers.map({
    // 可以使用{}来创建一个匿名闭包。使用in将参数和返回值类型声明与闭包函数体进行分离
    (number: Int) -> Int in
    let result = 3 * number
    return result
})
print(mappedNumbers) // [36, 24, 9, 135, 69]


// 6.1 如果一个闭包的类型已知，比如作为一个回调函数,
// 可以忽略参数的类型和返回值。单个语句闭包会把它语句的值当做结果返回。
let mapNumbers = numbers.map({num in num * 3})
print(mapNumbers)  //[36, 24, 9, 135, 69]


// 6.2 对数组里的元素从小到大排序
// 当一个闭包是传给函数的唯一参数，可以完全忽略括号
let sortedNumbers = numbers.sort{ $0 < $1}
print(sortedNumbers)






// 3. 使用 struct 来创建一个 结构体

struct Card {
    var rank : Rank
    func simpleDescription() -> String {
        return "请出牌：\(rank.simpleDescription())"
    }
}

let sixCard = Card(rank: .Six)
print(sixCard.simpleDescription())  // 请出牌：6
/*
