프로그래밍/Scala

curry의 변환을 역으로 수행하는 고차 함수를 구현하라.

모지사바하 2015. 8. 4. 14:16
def uncurry[A, B, C](f: A => B => C): (A, B) => C = {
(a, b) => f(a).apply(b)
}

회고.

좀 헤맸다.


a와 b를 인자로 받으면,

함수 f를 호출하여 결과로 B를 인자로 받고 C를 리턴하는 함수를 리턴 받고,

리턴 받은 함수에 b를 인자로 넘겨서 C를 리턴 받도록 처리함.


풀고보니 간단한데, 함수형 프로그래밍에 익숙치 않아서 헤맸던듯..