Как использовать оператор |› с функцией, которая ожидает два параметра?

kll : Float
kll =
    let
        half x =
            x / 2
    in
    List.sum (List.map half (List.map toFloat (List.range 1 10)))

преобразование с использованием |>

Можете ли вы также объяснить, как правильно использовать |> с некоторыми примерами, которые я не могу найти в Интернете? Спасибо. Это мой код:

kll : List Float
kll =
    let
        half x =
            x / 2
    in
    ((1 |> 1 |> List.range) |> toFloat |> List.map) (|>half |> List.map))|> List.sum

person y.west    schedule 22.10.2020    source источник
comment
Отвечает ли это на ваш вопрос? как правильно использовать оператор |›?   -  person glennsl    schedule 22.10.2020


Ответы (1)


|> не работает с функциями с двумя параметрами. Он используется только в функциях, которые принимают один параметр.

Используйте каррирование для предоставления ведущих параметров. Я думаю, что вы хотите это:

List.range 1 10 |> List.map toFloat |> List.map half |> List.sum

Или проще:

List.range 1 10 |> List.map (\x -> toFloat x / 2) |> List.sum
person Nick Lee    schedule 22.10.2020