首页 > 解决方案 > 为什么我在 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 

标签: f#boolean

解决方案


您的if表达式具有格式if a then true else false,因此您可以按照建议对其进行重构。您还可以将fstand替换为snd模式匹配:

let isGameOver (p : player) (fstb, sndb) : bool =
  List.sum fstb = 0 || List.sum sndb = 0

推荐阅读