일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 부스트코스
- IOS
- 문법
- 의도
- SWIFT
- fp
- 클린소프트웨어
- OOP
- protocol
- 함수형패러다임
- POP
- 의존성
- Solid
- DesignPattern
- 인터페이스
- 이름
- 고차함수
- 네이밍
- 함수형프로그래밍
- iOS프로그래밍
- 아이폰프로그래밍
- 클린코드
- interface
- 디자인패턴
- 객체지향프로그래밍
- 개발자
- 개발
- CleanCode
- 협업
- Swfit
- Today
- Total
목록2019/05/13 (2)
밤에 쓴 코드
FP) Currying - 커링 여러개의 인수를 받는 함수를 하나의 인수를 받는 여러 함수로 쪼개는 작업을 커링 이라고 합니다. 커링이 왜 필요할까요 ? ㅡ ? 함수의 꼬리물기(함수의 합성)를 할때 , 특정함수A의 output을 특정함수B의 Input 으로 넣어서 함수가 꼬리에 꼬리를 물어 결과값을 도출하는 프로그래밍을 할 수 있습니다. 이렇게 함수를 합성할 때에 쉽게 함수의 합성을 이루어 내기 위해서는 함수의 인자가 하나이면 함수의 합성이 원활하게 이루어 질수 있습니다. func multifly(_ n1: Int,_ n2: Int) -> Int { return n1*n2 } 인수를 하나만 받는 함수로 줄여보겠습니다. func multifly(_ n1: Int) -> (Int) -> Int { func ..
Higher Order Function 1급객체로써의 함수 Swift 와 같은 함수형 프로그래밍 언어에서는 함수는 1급 객체 입니다 . 1급 객체는 이러한 특징을 가집니다. 함수의 인수의 역할을 할 수 있습니다. 함수의 반환형타입으로 지정할 수 있습니다. 이 두가지 를 보여줄 수 있는 예 함수의 합성을 보여드리겠습니다. func composition(_ f1:(A) -> B , _ f2:(B) -> C ) -> (A) -> C { return { input in return f2(f1(input)) } } 제네릭과 1급객체 함수로서의 특징을 적용한 예입니다. 함수의 꼬리 물기를 통해서 두개의 함수를 하나의 합수로 합성했습니다. f1이라는 함수는 A타입을 입력 받아서 B타입을 반환합니다. f2이라는 함수는..