Web Dev/1. JS 문법 관련
[함수형 프로그래밍] 섹션7. 지연성 1
hYhY1234
2021. 2. 2. 17:03
728x90
Range
- 숫자를받고 그만큼의 숫자를 반환하는 함수
느긋한 L.range
- generator를 이용한다
- log(reduce(add, llist)): L.range는 코드 평가가 reduce를 실행하면 이뤄진다
take
- 인자를두개 받고, limit과 이터러블, limit 갯수까지만 반환하는 함수
이터러블 중심 프로그래밍에서의 지연 평가(Lazy Evaluation)
- 제때 계산법
- 느긋한 계산법
- 제너레이터/이터레이터프로토콜을 기반으로 구현
L.map
L.filter
range, map, filter, take, reduce 중첩 사용
L.range, L.map, L.filter, L.take, L.reduce 중첩 사용
map, filter 계열 함수들이 가지는 결합 법칙
- 사용하는 데이터가 무엇이든지
- 사용하는 보조 함수가 순수 함수라면 무엇이든지
- 아래와 같이 결합한다면 둘다 결과가 같다
-
[[maapping, mapping], [filtering, filtering], [mapping, mapping]]
=
[[mapping, filtering, mapping], [mapping, filtering, mapping]]