포인트 프리 스타일

포인트 프리 스타일이란 함수의 인자를 하나 혹은 그 이상 생략하는 방식을 말합니다. 이해를 위해 예시를 봅시다.

전달된 숫자에 10 을 더하는 함수가 있습니다:

add10 : Int -> Int
add10 x =
    10 + x

+ 을 전위 연산으로 옮겨 쓸 수 있습니다:

add10 : Int -> Int
add10 x =
    (+) 10 x

이제 인자 x 는 생략 가능합니다. 이렇게 쓸 수 있습니다:

add10 : Int -> Int
add10 =
    (+) 10

xadd10 의 인자와 + 연산 두 군데에서 빠진 것을 보세요. add10 은 여전히 결과 계산을 위해 정수 인자가 필요합니다. 이렇게 인자를 생략하는 것을 포인트 프리 스타일 이라 부릅니다.

더 많은 예제들

select : Int -> List Int -> List Int
select num list =
    List.filter (\x -> x < num) list

select 4 [1, 2, 3, 4, 5] == [1, 2, 3]

는 아래와 같습니다:

select : Int -> List Int -> List Int
select num =
    List.filter (\x -> x < num)

select 4 [1, 2, 3, 4, 5] == [1, 2, 3]

process : List Int -> List Int
process list =
    reverse list |> drop 3

는 아래와 같습니다:

process : List Int -> List Int
process =
    reverse >> drop 3

results matching ""

    No results matching ""