고차함수
고차함수Swift - 고차함수 sort, sorted
변수선언 // 배열을 변수로 선언 var myArray = [1,2,3,4,5,6,7,8,9,10] sorted() sorted를 통해 오름차순으로 정렬된 새 콜렉션을 반환 var filteredArray = myArray.sorted() myArray // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] filteredArray // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 콜렉션 내의 데이터들을 번갈아 가면서 돌아, 반환 값이 true가 나올 때 해당하는 값을 넣음. 그래서 내림차순으로 정렬이 됨 var descandingArray = myArray.sorted(by: { (someValue:Int, otherValue:Int) -> Bool in return someValu..
Swift - 고차함수 (Higher Order Functions)
매개변수로 함수 혹은 클로저를 받고, 받았던 녀석을 반환하는 함수 콜렉션에 들어가는 배열, 딕셔너리, 셋에 Sorted, Map, Filter, Reduce 등이 빌트인 되어있다. 함수 getName → 메소드인데 매개변수로서 클러저를 받고 그 클로저를 반환하는데, 반환하면서 형태를 변환하거나 한다. func getName(_ name: String) -> String { return "내 이름은 \(name)" } // 함수 자체를 매개변수로 넣고 func sayHello( getName: (String) -> String, name: String) -> String { // 넣은 함수를 반환 return getName(name) } let resultOne = sayHello(getName: getN..
Swift - 고차함수
스위프트 - 고차함수 - 다른 함수를 전달인자로 받거나, 함수실행의 결과를 함수로 반환하는 함수 MAP(변형) - 컨테이너가 담고 있던 각각의 값을 매개변수를 통해 받은 함수에 적용한 후 새로운 컨테이너를 생성하여 반환 - 코드의 간결성, 재사용 용이, 컴파일러 최적화 성능이 좋음 func map(_ transform: (Element) throws -> T) rethrows -> [T] ★ map let cast = ["Vivien", "Marlon", "Kim", "Karl"] let lowercaseNames = cast.map { $0.lowercased() } // 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"] let letterCounts ..