如何将 |> 运算符与需要两个参数的函数一起使用?
How to use |> operator with a function which expects two parameters?
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 参数函数。它只提供给带有一个参数的函数。
使用柯里化来提供前导参数。我想你想要的是这个:
List.range 1 10 |> List.map toFloat |> List.map half |> List.sum
或者更简单地说:
List.range 1 10 |> List.map (\x -> toFloat x / 2) |> List.sum
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 参数函数。它只提供给带有一个参数的函数。
使用柯里化来提供前导参数。我想你想要的是这个:
List.range 1 10 |> List.map toFloat |> List.map half |> List.sum
或者更简单地说:
List.range 1 10 |> List.map (\x -> toFloat x / 2) |> List.sum