Currying1 커링 (Currying) 20세기 수학자인 Haskell Curry 등의 작업으로 수학에서 유래한 언어 기술 여러개의 파라미터를 받는 함수를 하나의 파라미터를 받는 여러 개의 함수로 쪼개는 것 func multiply(_ a: Int) -> (Int) -> Int { return { b in return a * b } } let area = multiply(10)(20) //200 커링을 하는 이유 함수의 합성을 원활하게 하기 위해서 입니다. 함수의 Output이 다른 함수의 Input으로 연결되면서 합성될 때 함수들이 서로 chain을 이루면서 연속적으로 연결이 되려면, Output과 Input의 타입과 갯수가 같아야 합니다. 함수의 Output은 하나밖에 없으니 Input 또한 모두 하나 씩만 갖도록 한다면 합성하기가 쉬워질.. 2020. 6. 16. 이전 1 다음