【问题标题】:How to use |> operator with a function which expects two parameters?如何将 |> 运算符与需要两个参数的函数一起使用?
【发布时间】:2020-10-22 12:42:22
【问题描述】:
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-programming elm purely-functional


【解决方案1】:

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

使用柯里化来提供前导参数。我想你想要的是这样的:

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

或者更简单地说:

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

【讨论】:

    猜你喜欢
    • 2014-08-28
    • 2016-11-30
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 2020-02-17
    • 1970-01-01
    • 2013-08-13
    相关资源
    最近更新 更多