연습장
함수형 프로그래밍 체이닝
코딩조무사
2017. 10. 14. 16:47
1부터 10까지 원소들에 대해서
2를 곱하고
곱한 원소들에 대해서 10보다 큰 원소들만 추려내어
제곱근을 구해서 출력한다.
하스켈
1 | show $ map sqrt $ filter (>10) $ map (*2) [1..10] | cs |
코틀린
1 | (1..10).map { it * 2 }.filter { it > 10 }.map { Math.sqrt(it.toDouble()) } .forEach(::println) | cs |
C++
1 2 3 4 5 6 7 | #define lambda1(__TYPE__,__CODE_BLOCK__) [=](__TYPE__ $0){return __CODE_BLOCK__;} cout << (view::ints(1, 11) | view::transform(lambda1(int, $0 * 2)) | view::filter(lambda1(int, $0 > 10)) | view::transform(lambda1(int, std::sqrt($0))) | view::all); | cs |