f# - 为什么我在 if 语句中收到 bool 的错误消息
问题描述
我正在尝试制作一个 if 语句,它应该在其中查看列表是否为空。然后它应该返回一个 true 或 false 的布尔值。但我收到错误消息。我该如何纠正这个。
Lint:
if a then true else false
也许可以重构为a
.
let isGameOver (p : player ) (b : board) : bool =
let fstb = fst b
let sndb = snd b
if List.sum (fst b) = 0 || List.sum (snd b) = 0 then
true
else
false
解决方案
您的if
表达式具有格式if a then true else false
,因此您可以按照建议对其进行重构。您还可以将fst
and替换为snd
模式匹配:
let isGameOver (p : player) (fstb, sndb) : bool =
List.sum fstb = 0 || List.sum sndb = 0
推荐阅读
- reactjs - history.push 仅在 react 应用程序中使用 BrowserRouter 时更新 URL
- excel - 从excel vba中的宏正确调用单元格公式
- intel-pin - 查找检测系统调用的调用站点
- c# - 在嵌套类中,如何控制重复信息不记录在表中
- reactjs - 更改样式组件的脚本注入顺序
- python - 有没有办法在关闭或退出 Django 项目时删除目录内容?
- c# - 有没有办法让 fluent-nhibernate 使用 QueryOver 将 ValueObject 的值与字符串进行比较?
- osgi - 无法初始化 bean cxf?
- azure - ARM 模板是否支持 aks 集群自动缩放器?
- python - 如何将环境变量传递给 uwsgi?