// main.swift
// swift1_关闭
// Created by beyond on 15/6/12.
// Copyright (c) 2015年 beyond.com All rights reserved.
import Foundation
println("Hello, 闭包!")
func isExistFunc(arr:[Int],baseNum:Int,compareRuleBlock:(num1:Int,num2:Int)->Bool)
->Bool
{
for item in arr{
if compareRuleBlock(num1: item, num2: baseNum){
// 假设 比較的规则成立。则返回true
return true
}
}
return false
}
// 本次全校英语竞赛的全部考生成绩
var array = [50,20,60,70,90,133]
// 以下通过闭包,求出是否存在 130分以上的高分考生
var res1 = isExistFunc(array, 130, {
// 以下一行是【闭包的格式,即类型,最后一个in是固定写法】
(num1:Int,num2:Int) -> Bool in
// 以下是比較的原则:
return num1 >= num2
})
println("是否存在 130分以上的高分考生:\(res1)")
// 以下通过闭包。求出是否存在 不及格的考生
var res2 = isExistFunc(array, 60, {
// 以下是比較的原则:
return $0 < $1 // 使用$0 $1 就不用写闭包的格式了
})
println("否存在 不及格的考生:\(res2)")
XCode 6.3.1
Mac OS 10.10.2
版权声明:本文博主原创文章,博客,未经同意不得转载。