(Swift) 파이썬 데코레이터 스타일의 메모이제이션

이전의 글에서 Swift에서 자동 메모이제이션 함수를 설명하는 내용을 썼었다. 아래는 그 때의 코드이다. func memoize<T: Hashable, U> (_ body: ((T)->U, T) -> U) -> (T) -> U { var cache = [T:U]() var result = ((T)->U)! result = { n in if let r = cache[n] { return r } let r = body(result, n) cache[n] = r return r } return result } let fibs: (Int) -> Int = memoize{ memoized_fibs, n in if n < 2 { return