1 haskell boolean non-exhaustive-patterns
我是Haskell的新手并尝试组合一个简单的函数来检查两个数字是否相等.这是编译,但是当我尝试对程序进行测试时,它说这不是详尽无遗的.我不明白它如何用布尔函数非穷举?提前致谢:
data Value = ConstInt Int
| Numequal Value Value
| Ctrue Bool
| Cfalse Bool
deriving (Read, Show)
eval:: Value -> Bool
eval (Numequal e1 e2) =
let x = eval e1
y = eval e2
in case (x, y) of
(i1, i2) ->
if x == y
then False
else True
Run Code Online (Sandbox Code Playgroud)
你还没有完成你的eval功能.例如,假设我打电话eval (ConstInt 34).应该归还什么?
另外,想想你的功能正文中有什么.eval返回一个布尔值,这样既x和y将布尔和你测试,看看它们是否相等.那是你要的吗?
| 归档时间: |
|
| 查看次数: |
286 次 |
| 最近记录: |