
[Haskell] 고차원 함수 - 람다, 폴드, 스캔, $, 합성함수
·
devlog/programming language
람다 Lambda 단 한번만 함수가 필요할 때 사용하는 익명의 함수. 람다는 표현식이다. 선언방법 \ 로 선언 그 뒤에는 함수의 매개변수를 쓴다. (하나 이상의 매개변수는 공백으로 구분한다) -> 뒤에는 함수의 내용이 온다. 괄호로 람다를 감싸는 것이 일반적이다. where 절로 바인딩해서 표현했던 방식 대신 람다로 변경한 numLongChains 예시 numLongChains :: Int numLongChains = length (filter (\xs -> length xs > 15) (map chain [1..100])) 람다보다는..? 부분적 어플리케이션이 람다보다 가독성이 좋은 경우도 있다. map (+3) [1,6,3,2] // 부분적인 어플리케이션 map (\x -> x + 3) [1,6,3,..