Swift_4_クローズドパック(Blocks)
1305 ワード
import Foundation
println("Hello, World!")
var arr = [1,2,4,6,74,2]
func hasClosure(list:[Int], v2:Int, cb:(num:Int, v3:Int) ->Bool) ->Bool{
for item in arr{
if(cb(num:item, v3:v2)){
return true;
}
}
return false;
}
var v2 = hasClosure(arr, 82, {
(num:Int, v3:Int) ->Bool in
return num >= v3;
});
println("v2 is \(v2)")
//sort 。 , ,
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
func backwards(s1: String, s2: String) -> Bool {
return s1 > s2
}
var reversed = sort(names, backwards)
// reversed is equal to ["Ewa", "Daniella", "Chris", "Barry", "Alex"]
//
reversed = sort(names, { (s1: String, s2: String) -> Bool in
return s1 > s2
})
//
reversed = sort(names, { (s1: String, s2: String) -> Bool in return s1 > s2 } )
//
reversed = sort(names, { s1, s2 in s1 > s2 } )
//
reversed = sort(names, { $0 > $1 } )
//
reversed = sort(names, >)
println("reversed is \(reversed)")
//
//{
// (parameters) -> returnType in
// statements
//}