본문 바로가기
Smart Device/Swift

Swift 함수 #4 - 반환값과 인수의 기능을 하는 함수

by 언덕너머에 2014. 6. 9.

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 false

  }

  func lessThanTen(number: Int) -> Bool {

      return number < 10

  }

  var numbers = [20, 19, 7, 12]

  hasAnyMatches(numbers, lessThanTen)

    --> true


참고 : Apple Inc. ‘The Swift Programming Language.’