Почему я получаю сообщение об ошибке для bool в операторе if?
Как мне это исправить?
Часть кода, на которой вам нужно сосредоточиться
if List.sum (fst b) = 0 || List.sum (snd b) = 0 then
true
else
false
Результат оператора if равен bool
, например, true
или false
Lint достаточно умен, чтобы знать, что вы используете if
для возвратаbool
и условная часть операторов if также является типом bool
.Что говорит Линт, так это то, что
if (expr) then
true
else
false
не нужен и может быть проделан так же, используя только выражение.
Таким образом, изменение состоит в том, чтобы просто использовать часть выражения if
как
List.sum (fst b) = 0 || List.sum (snd b) = 0