一个函数,当a和b的值相同时,则为true

问题描述 投票:0回答:1

{-当a和b都为真或他们俩都是假的。有人可以吗告诉我我是什么做错了吗?-}

imply :: (a -> Bool, b -> Bool) -> Bool
a = False
b = True
imply (a, a) = True
imply (b, b) = True
imply _ = False
haskell
1个回答
0
投票

我将对您想要的内容进行猜测,因为您似乎正在努力克服Haskell语法的基础知识。如果尚未考虑,请考虑通过a tutorial

我同意@bradrn,您正在寻找的功能可能就是这个功能:

imply :: (Bool, Bool) -> Bool
imply (True, True)   = True
imply (False, False) = True
imply _ = False

我可以解释您所做的各种事情,但我认为您只需要看一看它的外观示例。我很乐意在评论中回答您对此有任何疑问。

要使用此功能,例如,在ghci中加载文件后,键入:

ghci> imply (True, False)
False
ghci> imply (False, False)
True

请注意,在Haskell中,约定是定义函数curried,所以我们改为查看

imply :: Bool -> Bool -> Bool
imply True True = True
...

ghci> imply True False
False

但是两个版本等效于[[(几乎)。

© www.soinside.com 2019 - 2024. All rights reserved.