如何将|>运算符与需要两个参数的函数一起使用?

问题描述

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

解决方法

|>不适用于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