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

问题描述

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...