functional-programming - 如何将 |> 运算符与需要两个参数的函数一起使用?
问题描述
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
推荐阅读
- php - $this->ci->input->post('something') 不工作
- javascript - 安装 mongodb 数据库工具并将其路径添加到系统变量后,无法从终端使用 mongodb mongoexport 命令
- operating-system - Cache Locality - TLB、Cache Lines 和...的权重?
- microsoft-graph-api - 使用 Graph 创建私有通道后,需要几分钟才能使用选项卡端点
- flutter - 如何使用 StreamBuilder 执行不同值的网络请求
- python - 有效地搜索大量关键字(1000 个)的正文
- in-app-purchase - 如何将我的 HMS IAP 产品类型从非消耗品更改为消耗品?
- python - 关闭方法不关闭窗口pyqt5
- python - 如何检测按下哪个按钮来调用特定于它的命令?
- python - Tkinter 按钮在分辨率更高的电脑中放错了位置