// 1. nested function return type
func sumOrSub(enable:Bool) -> (Int,Int)->Int {
func add(_ a: Int, _ b:Int )->Int {
return a+b
}
func sub(_ a:Int , _ b:Int)->Int {
return a - b
}
if(enable){
return add
}
else {
return sub
}
}
print( sumOrSub(enable:true)(1,2))
// 2. closure
let names = ["james","charile","richard","hong","kim","lee"]
func backward(_ a:String, _ b:String)->Bool {
return (a > b )
}
var reversed = names.sorted(by:backward)
print (reversed)
reversed = names.sorted(by: { (a:String, b:String)->Bool in return a>b })
print (reversed)
reversed = names.sorted(by: { s1,s2 in return s1>s2 })
print( reversed)
reversed = names.sorted(by: { s1,s2 in s1>s2 })
print( reversed)
reversed = names.sorted(by: { return $0>$1})
print( reversed)
reversed = names.sorted(by: { $0>$1})
print( reversed)
reversed = names.sorted(by: > )
print( reversed)
//trailing closure
reversed = names.sorted(){ $0>$1}
print( reversed)
reversed = names.sorted{ $0>$1}
print( reversed)
reversed = names.sorted{ ( a, b) -> Bool in return a > b }
print( reversed)
2017년 2월 17일 금요일
Swift nested function, closure
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기