首页 > 解决方案 > 如何将 |> 运算符与需要两个参数的函数一起使用?

问题描述

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

标签: functional-programmingelmpurely-functional

解决方案


|>不适用于 2 参数函数。它只提供给采用一个参数的函数。

使用 currying 提供前导参数。我想你想要的是这样的:

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

或者更简单地说:

List.range 1 10 |> List.map (\x -> toFloat x / 2) |> List.sum

推荐阅读