고차함수
- 함수를 인자로 전달받거나 함수의 실행결과를 함수로 전달 받는것
일급객체
- 변수 & 상수에 할당 가능
- return 할 수 있음
- 파라미터로 전달 가능
Context
함수객체 (Functor)
- 함수객체는 고차함수인 map을 적용할 수 있는 컨테이너 타입
var myNumber: Int? = 2
print(myNumber + 3) Int, Int? 다른 타입
myNumber.map{ print($0 + 3) }
모나드(Monad)
- 값이 있을 수도 있고 없을 수도 있는 컨텍스트를 가지는 함수객체 타입
Map
swift/Sequence.swift at main · apple/swift
ContiguousArray
- map은 자신을 호출할 때 파라미터로 전달된 함수를 실행하여 그 결과값을 반환하는 함수
- 기존의 컨테이너의 값은 변경되지 않고 새로운 컨테이너가 생성되어 반환됨