본문 바로가기

Smart Device59

Swift 함수 #5 closure expression Closure는 일종의 코드 블럭이다. 별도의 코드들을 하나로 묶어서 처리하는 기능이다. - closure expression var numbers = [20, 19, 7, 12] numbers.map({ (number: Int) -> Int in let result = 3 * number return result }) 반환값 : [60, 57, 21, 36] - closure의 type을 알고 있다면 parameters나 반환값을 생략할 수 있습니다. numbers.map({ number in 3 * number }) - sort 예제 sort([1, 5, 3, 12, 2]) { $0 > $1 } - sort 예제 let names = ["Chris", "Alex", "Ewa", "Barry", "Da.. 2014. 6. 9.
Swift 함수 #4 - 반환값과 인수의 기능을 하는 함수 - Functions are a first-class type. 함수는 다른 함수의 반환값으로 다른 함수의 값을 사용할 수 있다. 예) func makeIncrementer() -> (Int -> Int) { func addOne(number: Int) -> Int { return 1 + number } return addOne } var increment = makeIncrementer() increment(7)’ - 함수는 다른 함수의 인수로 사용되어 질 수 있다. 예) func hasAnyMatches(list: [Int], condition: Int -> Bool) -> Bool { for item in list { if condition(item) { return true } } return f.. 2014. 6. 9.
Swift 함수 #3 - nested functions(중첩함수) - nested functions(중첩함수) 중첩함수는 외부함수에서 선언된 변수에 접근할 수 있다. 함수가 길거나 복잡할 경우 사용할 수 있다. 예1) func returnFifteen() -> Int { var y = 10 func add() { y += 5 } add() return y } returnFifteen() 참고 : Apple Inc. ‘The Swift Programming Language.' 예2)func chooseFunction(operation: Bool) -> (Int) -> Int { func increaseOne(input: Int) -> Int { return input + 1 } func decreaseOne(input: Int) -> Int { return input -.. 2014. 6. 9.
Swift 함수 #2 - 여러개의 반환값과 인수를 가지는 함수 - 함수에서 여러값을 반환하는 방법 func getGasPrices() -> (Double, Double, Double) { return (3.59, 3.69, 3.79)}var y = getGasPrices()println("\(y.0)") --> 3.59println("\(y.1)") --> 3.69 println("\(y.2)") --> 3.79 func getGasPrices() -> (d1 : Double, d2 : Double, d3 : Double) { return (3.59, 3.69, 3.79)}var y = getGasPrices()println("\(y.d1)") --> 3.59println("\(y.d2)") --> 3.69println("\(y.d3)") --> 3.79 - 함수는.. 2014. 6. 9.